Powershell批量修改文件名的方法
假定在文件夹中你有很多脚本文件(或图片、日志等等),并且要将它们全部重命名,得到的新文件名应该具备如一个前缀接一个数字。
以下例子中,将重命名你指定的文件夹内所有扩展名为.ps1的Powershell脚本。新的名字将成为powershellscriptX.ps1,这里的“X”是一个递增数字。
注意,脚本默认还没有真正开始重命名。
注意,要去掉它的-Whatif参数才真正的重命名文件。
假设录入的变量或输入了一个错误的目录路径,这时脚本会错误将数以千计的文件重命名。
例子,批量增加文件前缀名的powershell脚本:
$Path = 'c:temp'
$Filter = '*.ps1'
$Prefix = 'powershellscript'
$Counter = 1
Get-ChildItem -Path $Path -Filter $Filter -Recurse |
Rename-Item -NewName {
$extension = [System.IO.Path]::GetExtension($_.Name)
'{0}{1}.{2}' -f $Prefix, $script:Counter, $extension
$script:Counter++
} -WhatIf
备注:
powershell编程中,常见的字符串处理方法,重点掌握'{0}{1}.{2}' -f 用法。