【发布时间】:2018-01-04 20:51:10
【问题描述】:
我有一个重命名脚本,其中一小部分导致了我的问题。我需要重命名 jpg 文件名的一部分,并从文件路径中拆分出来。
文件示例:
"C:\WK53\WK5330002\WK44006679\spin1\01_img_0029.JPG"
在上述情况下,我想将 01_img_0029.JPG 重命名为 WK44006679_0029.JPG,因此将文件名的字符串 0,1 替换为文件路径的 -3。
我可以导出我想要的名称的两个部分,但我在实际重命名逻辑方面遇到了问题。以下拆分分离出“WK44006679”,第二个分离出“0029”:
$jpgToRename = GCI -Path $pathToRename -Filter '*.jpg' -R | ForEach-Object{
$newJpgASIN = $jpg.FullName.split('\')[-3]
$oldJpgName = $jpg.Name.split('_')[2]
}
我试过这个没有运气:
$jpgToRename = GCI -Path $pathToRename -Filter '*.jpg' -R | ForEach-Object{
$newJpgASIN = $jpg.FullName.split('\')[-3]
$oldJpgName = $jpg.Name.split('_')[2]
Rename-Item -NewName {$_.Name -replace $oldJpgName,'_'+$newJpgASIN}
}
感谢任何帮助。谢谢!
【问题讨论】:
-
Rename-Item -NewName {$_.Name -replace $oldJpgName,'_'+$newJpgASIN}->Rename-Item $_.FullName -NewName ($_.Name -replace $oldJpgName, ('_'+$newJpgASIN))
标签: powershell