寻找修改文件名的简单批处理脚本
答
这个小脚本会将所有*.swf
文件更改为等效的*_42.swf
文件。
@setlocal enableextensions enabledelayedexpansion
@echo off
for /f %%a in ('dir /b *.swf') do (
set fspec=%%a
set newfspec=!fspec:~0,-4!_42.swf
echo ren !fspec! !newfspec!
)
endlocal
实际上,就像现在这样,它只会回显它想要执行的命令。一旦你开心,他们是正确的,你可以从上面的重命名行删除echo
。
它的工作原理是利用for /f
让所有SWF文件的列表,然后使用字符串操作:
- 除去最后四个字符(
.swf
扩展);然后 - 在最后添加新的
_42.swf
扩展。
而且,请确保您先备份它们:-)
答
您可以直接在命令提示符下使用下面的一行代码:
FOR %F IN (*.swf) DO RENAME "%F" "%~nF123.*"
其中123
看台为您的选择数量。
或者,您可以创建批处理文件并利用其接受参数的能力。使用下面的脚本:
@ECHO OFF
SET "suffix=%~1"
FOR %%F IN (*.swf) DO RENAME "%%F" "%%~nF%suffix%.*"
现在,如果该批次的名称为renamer.bat
,你可以调用它像这样:
renamer.bat 2011
,它会在当前目录下添加2011
每.swf
文件的名称。
答
假设<X>
在您的描述中应该是不变的,并且您没有明确要求批处理脚本来解决您的问题,您可以使用Microsoft资源文章中提到的Windows资源管理器,名称为“Rename a file”。
这里有一个从上述文章的摘录:。
“你也可以在同一时间,这是将相关的项目有用的重命名多个文件要做到这一点,选择文件[然后按F2]输入一个名称,然后每个文件将在最后以新名称和不同的连续编号保存(例如,重命名文件(2),重命名文件(3)等)。“
你想计算每个文件的数量还是一直是相同的数字? – weberik