如何使用命令行使用通配符批量重命名 FOLDER 前缀

如何使用命令行使用通配符批量重命名 FOLDER 前缀

因此已经提到REN可以用来重命名文件夹,但不允许使用通配符。

我有一个包含几百个文件夹的目录,我想从所有文件夹名称中删除前七个字符(又名前缀)。

例如,当前文件夹名称可能是“披萨的ABC“,我想去掉“ABC 德“从文件夹名称中删除,只剩下“PIZZA”文件夹名称。

我看到了另一个答案(https://superuser.com/a/1739002/368970) 使用此命令行解决方案,该解决方案使用通配符保持基本文件夹名称不变,并在文件夹名称(又名前缀)前面添加加号:

cd "C:\Program Files\WindowsApps" for /D %a in 
("Microsoft.GamingServices_*") do ren "%a" "+%a"

有人对我如何使用命令行从目录中的所有文件夹中删除前 7 个字符的前缀,但保留该 7 个字符前缀之后的所有剩余字符有什么建议吗?

答案1

使用 PowerShell,您可以轻松地使用(基于https://superuser.com/a/273220/368970):

Get-ChildItem -Directory -Recurse | rename-item -newname { [string]($_.name).substring(7) }

答案2

.bat你可以用这个文件来完成:

setlocal EnableDelayedExpansion
for /d %%i in (*) do (
  set tmp=%%i
  ren "!tmp!" "!tmp:~7!"
)

解释 :

相关内容