删除文件名点 (.)

Remove Filename dot (.)

我正在寻找删除下面文件的点 (.) 的方法,但 OS 似乎将其识别为扩展名

SEGA8031.2867

我想修改成他会像下面这个文件。替换点“。”通过下划线“_”。

SEGA8031_2867

用 .bat 做了一些测试,但没有得到预期的结果。

REN *SEGA????.????* *SEGA????_????*

你能帮帮我吗?

批处理在变量中具有字符串替换语法。这是%variable:search=replace%

> SET filename=SEGA8031.2867
> SET newfilename=%filename:.=_%
> echo %newfilename%
SEGA8031_2867

使用纯批处理:

@echo off
setlocal disableDelayedExpansion
for /f "eol=: delims=" %%F in ('dir /b "*sega8031.2867*"') do (
  set "file=%%F"
  setlocal enableDelayedExpansion
  ren "!file!" "!file:SEGA8031.2867=SEGA8031_2867!"
  endlocal
)

使用我的 JREN.BAT hybrid JScript/batch utility:

jren "(SEGA8031)\.(2867)" "_"