是否有可能改变 Win7 中内置的批量重命名机制?
比方说,是否可以让它使用这样的模式?
name-001.ext
name-002.ext
答案1
您可以使用脚本语言。您的 Win7 机器上应该有 PowerShell。下面是一行代码:
PS> get-childitem | foreach { $i++; $new = "name-{0:D3}" -f $i + $_.Extension; rename-item $_ $new } ; $i=0
这里,我们使用Get-ChildItem
枚举当前目录的内容。然后,我们将生成的 FileInfo 对象通过管道传输到简短的 ScriptBlock,该 ScriptBlock 执行以下操作:
- 增加计数器变量
- 通过组合创建新名称
- 格式化的字符串,计数器有三位有效数字
- 来自原始 FileInfo 对象的文件扩展名
Rename-Item
与原始 FileInfo 对象和新名称一起使用
最后一项重置了 $i 计数器;这很有用,因为您可以进行实验,以便第一个文件名以 1 开头,而不是比上次编写脚本时的最终值多 1。(问我怎么知道的)。
把它们放在一起,你就会得到以下结果:
在目录中执行,内容如下:
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 10/3/2011 11:45 AM 455 save-times.csv
-a--- 2/23/2012 4:03 PM 553376 save_patch.zip
-a--- 2/1/2012 10:55 AM 131280 user-gp.html
-a--- 6/7/2011 11:58 AM 38557 wks.xml
-a--- 5/23/2011 3:28 PM 16384 xmllint.exe
我得到以下结果:
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 10/3/2011 11:45 AM 455 name-001.csv
-a--- 2/23/2012 4:03 PM 553376 name-002.zip
-a--- 2/1/2012 10:55 AM 131280 name-003.html
-a--- 6/7/2011 11:58 AM 38557 name-004.xml
-a--- 5/23/2011 3:28 PM 16384 name-005.exe
有关详细信息,请参阅 TechNet 文档使用 Get-ChildItem 命令行开关和使用 Foreach-Object 命令行。来吧,尝试一下!
答案2
我一直没能找到办法改变 Windows 批量重命名的格式。不过有第三方实用程序可以毫无问题地处理它。我个人使用http://www.bulkrenameutility.co.uk/Download.php但也有其他的。