如何在批处理文件中删除文件名中的前3个字符

时间:2012-07-12 07:43:26

标签: batch-file

我有一些文件要删除文件名中的前3个字符 我认为这会有效,但它只是输出:

MISEQPRF.txt
ECHO is off.
ECHO is off.

@echo off
for %%a in (%MIS*.TXT) do (
  SET oldName = %%a
  SET newName = %oldName:~3%
  echo %%a
  echo %oldName%
  echo %newName%
)
pause

注意:我会修改为REN %aa %newName,但要确保名称首先正确。

1 个答案:

答案 0 :(得分:5)

您需要使用延迟扩展来使用在for循环中设置的变量。

尝试使用此略微修改的版本

@echo off
setlocal enabledelayedexpansion
for %%a in (MIS*.TXT) do (
set oldName=%%a
set newName=!oldName:~3!
echo !newName!
)
pause

另外,set=之间不能有空格,必须加入。