遵循此模式的数千张图片: 1是主要图像,这是问题图像,因为我没有任何东西可供选择。
1) 6-100-DS.tif - Renamed to 6-100-DS-main.tif
2) 6-100-DS_a.tif - Renamed to 6-100-DS-alt01.tif
3) 6-100-DS_b.tif - Renamed to 6-100-DS-alt02.tif
重命名2& 3很容易:
Dir | Rename-Item –NewName { $_.name –replace "_a","-alt01" }
Dir | Rename-Item –NewName { $_.name –replace "_b","-alt02" }
我可能回答了我自己的问题;我想我可以重命名所有图像" -main.tif"然后将其包含在选择器中以重命名alt图像。
"_a-main.tif", "_b-main.tif"
任何人都知道如何更有效地做到这一点?
答案 0 :(得分:0)
让我知道这是否有效:
我所做的是为每个任务创建一个函数,但是我们可以把它全部放到一个函数中,但我认为这很容易解释。
我们使用Get-ChildItem
cmdlet抓取名为DS.TIF
,DS_A.tif
或DS_B.tif
的目录中的所有内容。完成此操作后,我们将获得一系列符合这些规则的文件。现在重命名它们很简单,但保持6-100-DS
不变。
$Dir="F:\Test\Images"
Function Main{
$Files=Get-ChildItem $Dir -Recurse | Where-Object {$_.name -like "*DS.TIF"}
$Files | Rename-Item –NewName { $_.name –replace "DS","DS-main" }
}
Function alt01{
$Files=Get-ChildItem $Dir -Recurse | Where-Object {$_.name -like "*DS_a.TIF"}
$Files | Rename-Item –NewName { $_.name –replace "_a","-alt01" }
}
Function alt02{
$Files=Get-ChildItem $Dir -Recurse | Where-Object {$_.name -like "*DS_b.TIF"}
$Files | Rename-Item –NewName { $_.name –replace "_b","-alt02" }
}
Main
alt01
alt02