命令行重命名末尾带有通配符的目录

命令行重命名末尾带有通配符的目录

我有一些文件夹,例如

John Doe - 03 November 2020 1234
John Doe - 03 November 2020 1259
Jane Doe - 03 November 2020 1234

我想用前缀重命名这些文件夹(例如:“1_”或“2_”,具体取决于其他信息)。我尝试使用这样的代码来利用 * 或 ? 通配符,但它似乎没有按我预期的方式工作。

ren "John Doe*" "1_John Doe*"
ren "John Doe????????????????????????" "1_John Doe????????????????????????"

但当我尝试合并通配符以合并最后三位数字时,一切都失败了

The syntax of the command is incorrect.

当我重命名没有变量结尾的文件夹时,这种方法很有效,但是我有多个同名的文件夹,所以这不是一个可能的解决方案。

John Doe - 03 November 2020

ren "John Doe - 03 November 2020" "1_John Doe - 03 November 2020"

1_John Doe - 03 November 2020

欢迎提出建议。

答案1

在 powershell 中你可以使用:

Get-ChildItem ./* -Directory | Rename-Item -NewName {$_.name -replace '\w*^', '1_'}

单个 ' 之间的两段文本是正则表达式。要将“2_”插入文件名开头,只需将命令更改为:

Get-ChildItem ./* -Directory | Rename-Item -NewName {$_.name -replace '\w*^', '2_'}

要在文件名前插入数字 3,请将数字 2 改为 3,依此类推。

相关内容