如何用三位数和奇数在Powershell中重命名文件?

How to rename files in Powershell with three digits and odd numbers?

powershell 的新手。

正在尝试重命名几个需要按奇数顺序排列的 .wav 文件。

我从另一个 post 那里找到了如何以奇数增量重命名多个文件,但无法弄清楚如何将它们格式化为 "001_title.wav", 003_title.wav、005_title.wav等

尝试实施“{0:d3}”时遇到困难。

我应该使用那个吗?

如有任何帮助,我们将不胜感激!

谢谢。

$path = "\path\to\files"
$oddNumbersArray = 0..500 | % {$_ *2 +1}
$i = 0
Get-ChildItem $path -Filter *.wav | % {Rename-Item $_ -NewName ("$($oddNumbersArray[$i])_title.wav") '{0:d3}' -f $($oddNumbersArray[$i]) ;$i++}

您的 -NewName 表达式应如下所示:

... |Rename-Item -NewName { '{0:d3}_title.wav' -f $oddNumbersArray[$script:i++] }

{} 括号确保管道绑定器重新计算每个输入项的值,并且需要 script: 范围修饰符,因为我们 到父作用域中的变量。


FWIW 您不必“预先计算”您的奇数 - 您可以将计数器变量增加 2:

$path = "\path\to\files"
$oddCounter = 1
Get-ChildItem $path -Filter *.wav |Rename-Item -NewName { '{0:d3}_title.wav' -f $oddNumbersArray[($script:i += 2)] }