要重命名的图像

时间:2017-03-28 17:36:08

标签: powershell

遵循此模式的数千张图片: 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"

任何人都知道如何更有效地做到这一点?

1 个答案:

答案 0 :(得分:0)

让我知道这是否有效:

我所做的是为每个任务创建一个函数,但是我们可以把它全部放到一个函数中,但我认为这很容易解释。

我们使用Get-ChildItem cmdlet抓取名为DS.TIFDS_A.tifDS_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