寻找一个简单的修改文件名的批处理脚本

我有一个以.swf结尾的文件夹列表。

我想将所有这些文件从X.swf改为X<some number>.swf

我怎样才能做到这一点?

这个小脚本将把所有的*.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" "%~nF 123 .*" 

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资源管理器。

这篇文章摘录如下:

“你也可以同时重命名多个文件,这对分组相关的项目很有用,要做到这一点,选择文件[然后按F2],输入一个名称,然后每个文件将被保存为新的名称和(例如重命名文件(2),重命名文件(3)等)。