刚刚开始接触PowerShell,最实用又容易实现的就是批量重命名了吧。
下面的代码,读取一个文本文档中的信息,批量替换相应文件的名称。
信息文档中每行两个值,用逗号隔开。
稍加修改可以更换为多个键值,会更好,但是我刚接触,这个脚本也恰好能满足我的需求了,就先不研究啦。
[PowerShell] 纯文本查看 复制代码
Read-Host "请输入需重命名的文件路径"|Set-Location
$src=@{}
$srcname=@()
$w=Read-Host "请输入信息文件路径及文件名:"
Get-Content -Path $w -Encoding UTF8|ForEach-Object {
$key,$val=$_ -split ","
$src[$key]=$val
$srcname+=$key
}
Get-ChildItem -path ".\*.pdf" | ForEach-Object {
foreach($t in $srcname){
if($_.Name.Contains($t)){
[PSCustomObject]@{
Path=$_.Name
newname=$src[$t]+$t+".pdf"
}|Rename-Item
Write-Host $t
break
}
}
}
|