我是批处理文件的新手所以请温柔!我一直在尝试构建一个简单的批处理文件,以便根据特定的命名约定重命名数千个文本文件。由于文件位置的碎片性质,我希望从与目标文本文件相同的文件夹中运行批处理文件。
虽然脚本在运行时似乎在单个文件上执行正常,但它不会遍历同一文件夹中的所有文件,我不知道为什么!如果我多次运行脚本,最终每个文件都会被翻译,但显然这并不理想。任何帮助非常感谢!
代码如下:
@echo off
setlocal EnableDelayedExpansion
for /f "eol=: delims=" %%a in ("*.txt") do (
set name=%%~Na
set prefix=QX
set newName=!prefix!!name:~0,1!X!name:~1,2!!name:~3!
ren "%%a" "!newName!%%~Xa"
)
答案 0 :(得分:0)
尝试这样:
@echo off
set prefix=QX
setlocal EnableDelayedExpansion
for /f "delims=" %%a in ('dir *.txt /b') do (
set name=%%~Na
set newName=%prefix%!name:~0,1!X!name:~1,2!!name:~3!
ren "%%a" "!newName!%%~Xa")