我有一堆以模式命名的文件99 - DescriptiveName.txt
,我想从前面删除数字,所以我只需要DescriptiveName.txt
。
我该怎么做?我可以从命令行执行此操作吗?或者是否有可以执行此操作的实用程序?
答案1
答案2
一个小的 PowerShell 脚本:
$args | Rename-Item -NewName { $_.Name.ToLower() -replace '\d+ - ' }
结合更复杂的常用表达,这可能会变成这样:
ls | Rename-Item -NewName {$_ -replace '(\d+) - (.*)\.mp3$', '$2 - $1.mp3' }
这会将“01 - Beginning.mp3”之类的内容转换为“Beginning - 01.mp3”。
在发出重命名之前,请使用-WhatIf
参数 onRename-Item
检查重命名。
答案3
如果您确实想使用 Windows 命令行(如果您不想下载某些内容),您可以这样做:
dir /B > fileList.txt
for /f "tokens=1,2,3" %i in (fileList.txt) DO ren "%i %j %l" %l
第一行将文件列表输出到名为 fileList.txt 的文件中。第二行将列表中的每个名称分为 3 个部分,即 #、“-”和名称的其余部分。对于每个部分,它都会执行重命名命令。
答案4
老套:
您可以执行 DIR 并将输出重定向到文件,如 DIR *.TXT >TEMP.BAT
然后使用编辑器删除不需要的部分,修改需要的部分。添加“@echo off”作为最上面一行,保存并运行。