我有一些文件,我想删除文件名中的前3个字符我认为这将工作,但它只是输出:
MISEQPRF.txt
ECHO is off.
ECHO is off.
Run Code Online (Sandbox Code Playgroud)
@echo off
for %%a in (%MIS*.TXT) do (
SET oldName = %%a
SET newName = %oldName:~3%
echo %%a
echo %oldName%
echo %newName%
)
pause
Run Code Online (Sandbox Code Playgroud)
注意:我将修改为REN %aa %newName但要确保名称首先正确.
您需要使用延迟扩展来使用在for循环中设置的变量.
请尝试使用此略微修改的版本
@echo off
setlocal enabledelayedexpansion
for %%a in (MIS*.TXT) do (
set oldName=%%a
set newName=!oldName:~3!
echo !newName!
)
pause
Run Code Online (Sandbox Code Playgroud)
此外,您set和之间不能有空格=,必须加入.