如何用三位数和奇数在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)] }
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)] }