Powershell脚本运行以在所有文件名之前添加字母M。然后,在修改完最后一个文件后,它将继续循环,并在文件名之前循环添加更多MMMM。我需要在第一次运行Directory中的所有文件后停止它。
我尝试了这三个版本。第一个在M前面有空格的文件会重命名所有文件一次,但会在名称前保留多余的空间,如果我可以摆脱空间,那将是我所需要的:
DIR | Rename-Item -NewName {" M" + $_.BaseName + $_.Extension}
此版本在M的前面没有多余的空间,但是会在文件名允许更多字符的情况下继续添加MMMM。
DIR | Rename-Item -NewName {"M" + $_.BaseName + $_.Extension}
我还尝试将字母作为参数并使用Foreach并获得与前两个版本中的字母M相同的结果:
$AL = "M"
Foreach-Object {
DIR | Rename-Item -NewName {$AL + $_.BaseName + $_.Extension}
}
我需要一次在文件名前加M的文件名,并且一次没有多余的空间。谢谢。
答案 0 :(得分:2)
$FileList = Get-ChildItem
$FileList | Rename-Item -NewName {"M" + $_.BaseName + $_.Extension}
应该做到这一点。此文件与原始文件的区别在于原始文件会获得动态文件列表;通过将文件列表存储在变量中,该文件列表将变为静态,因此不会将已经重命名的文件添加到要处理的列表中。