Windows 文件批量重命名-匹配预定义的文本文件
你好 我正在尝试根据文本文件中的匹配/查找来重命名/组织文件 我在这样一个文件夹中有几百个西里尔文(俄语)命名的媒体文件:Windows 文件批量重命名-匹配预定义的文本文件,windows,powershell,batch-rename,Windows,Powershell,Batch Rename,你好 我正在尝试根据文本文件中的匹配/查找来重命名/组织文件 我在这样一个文件夹中有几百个西里尔文(俄语)命名的媒体文件: фааФ35.avi фаааа34.avi фааа2 4.avi фаааа14.avi *请注意,有些文件有空格 具有所需名称的文本文件如下所示: фааа35.avi4.фааа35.avi фааа34.avi3.фаа34.avi фаа2 4.avi1.фаа2 4.avi фааа14.avi|2.фааа14.avi 之所以看起来如此(以|作为分隔
- фааФ35.avi
- фаааа34.avi
- фааа2 4.avi
- фаааа14.avi
- фааа35.avi4.фааа35.avi
- фааа34.avi3.фаа34.avi
- фаа2 4.avi1.фаа2 4.avi
- фааа14.avi|2.фааа14.avi
非常感谢您抽出时间 您可以将文本文件读入哈希表,其中键是旧名称(位于
|
左侧的值),值是新名称:
$RenameTable = @{}
Get-Content textfile.txt |ForEach-Object {
$OldName,$NewName = $_.Split('|')
$RenameTable[$OldName] = $NewName
}
然后根据哈希表中的内容重命名文件:
Get-ChildItem .\folder\with\avi\files |Rename-Item -NewName {
if($RenameTable.ContainsKey($_.Name)){
$RenameTable[$_.Name]
} else {
$_.Name
}
}
为什么您不能再次使用批量重命名实用程序,但这次使用正确的方法?不确定是否有其他方法使用BRU。您能建议正确的方法吗?可以使用
Get ChildItem$ScriptDir-Filter*.avi |.
仅尝试重命名avi文件,但是可以,否则就可以了