我有一個關于更改多個檔案的名稱(大約 800 個)以適應特定名稱格式的問題。
示例資料:
- 123_12345_abc455.jpg
- 123_12345_abc677.jpg
- 123_12345_abc899.jpg
- 123_47847_qwe334.jpg
- 123_47847_qwe433.jpg
- 123_54321_uwu123.jpg
客觀的:
- 12345_1.jpg
- 12345_2.jpg
- 12345_3.jpg
- 47847_1.jpg
- 47847_2.jpg
- 54321_1.jpg
請注意,在我們從開頭和結尾洗掉字符后,我們會留下多個同名檔案,這會導致錯誤,腳本會簡單地忽略那些同名檔案。
到目前為止,我得到的是:
ls | Rename-Item -NewName {$_.name.substring(0,$_.BaseName.length-7) $_.Extension}
uj5u.com熱心網友回復:
這是一種技術:
Get-ChildItem -Path .\*.jpg |
Group-Object {$_.Name.Split('_')[1]} |
ForEach-Object {
$namePart = $_.Name
$_.Group |
ForEach-Object {$i=1}{
Rename-Item -Path $_.FullName -NewName ("$namePart`_" $i $_.Extension)
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/491588.html
上一篇:將窗戶放在前面的正確方法是什么
下一篇:C Unix和Windows支持
