删除文件名点(。)

时间:2015-03-04 21:14:51

标签: windows batch-file replace

我正在寻找删除下面文件中的点(。)的方法,但它似乎被操作系统识别为扩展名

SEGA8031.2867

我想将其修改为他将像下面的文件一样。更换点"。"通过下划线" _"。

SEGA8031_2867

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

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

你能帮帮我吗?

2 个答案:

答案 0 :(得分:1)

Batch在变量中有一个字符串替换语法。这是%variable:search=replace%

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

答案 1 :(得分:0)

使用纯批次:

@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)" "$1_$2"