我有由数字、空格和名称组成的文件名。例如,"023 filename1.txt"
。
我想创建一个重命名此类文件的批处理脚本。它需要识别子字符串并删除空格字符之前的所有内容。例如,"023 filename1.txt"
将重命名为"filename1.txt"
.
请解释如何在批处理文件中执行此操作。
我有由数字、空格和名称组成的文件名。例如,"023 filename1.txt"
。
我想创建一个重命名此类文件的批处理脚本。它需要识别子字符串并删除空格字符之前的所有内容。例如,"023 filename1.txt"
将重命名为"filename1.txt"
.
请解释如何在批处理文件中执行此操作。
@echo off
setlocal EnableDelayedExpansion
for %%a in (*.txt) do (
set newName=%%a
ren "%%a" "!newName:* =!"
)
这部分:"!newName:* =!"
意思是“取newName变量,从它的值的开头替换到空无的空格”,即去掉开头直到第一个空格。
这只会回显它将执行的命令。删除第三行上的 echo 以实际进行重命名。
@echo off
for %%F in (*.txt) do (
for /F "tokens=1,*" %%I in ("%%F") do echo ren "%%F" "%%J"
)
第一个for
迭代所有.txt
文件。
第二个for
将每个文件名拆分为初始编号,其余使用tokens=1,*
. %I
获取数字(被忽略)并%J
获取新文件名。