使用powershell批量重命名文件
batch renaming files using powershell
我可以使用以下方法批量重命名工作目录中的文件:
Dir | %{Rename-Item $_ -NewName ("0{0}.wav" -f $nr++)}
但是我希望文件重命名从非零开始。说0500,按顺序依次重命名。
Dir | %{Rename-Item $_ -NewName ("0{500}.wav" -f $nr++)}
returns 错误。
如何让重命名从 0 以外的数字开始?
您可以预先将计数器初始化为 500。此外,您不需要为此使用 ForEach-Object 循环 (%
),因为 NewName
参数可以采用脚本块.
重要的是,您需要将 Get-ChildItem
部分放在方括号之间,以便在重命名项目之前完成,否则您最终可能会尝试重命名已经重命名的文件。
$nr = 500
(Get-ChildItem -Path 'D:\Test' -Filter '*.wav' -File) | Rename-Item -NewName { '{0:D4}{1}' -f ($script:nr++), $_.Extension }
我可以使用以下方法批量重命名工作目录中的文件:
Dir | %{Rename-Item $_ -NewName ("0{0}.wav" -f $nr++)}
但是我希望文件重命名从非零开始。说0500,按顺序依次重命名。
Dir | %{Rename-Item $_ -NewName ("0{500}.wav" -f $nr++)}
returns 错误。
如何让重命名从 0 以外的数字开始?
您可以预先将计数器初始化为 500。此外,您不需要为此使用 ForEach-Object 循环 (%
),因为 NewName
参数可以采用脚本块.
重要的是,您需要将 Get-ChildItem
部分放在方括号之间,以便在重命名项目之前完成,否则您最终可能会尝试重命名已经重命名的文件。
$nr = 500
(Get-ChildItem -Path 'D:\Test' -Filter '*.wav' -File) | Rename-Item -NewName { '{0:D4}{1}' -f ($script:nr++), $_.Extension }