![Powershell:批量重命名并保留扩展名?](https://linux22.com/image/1504902/Powershell%EF%BC%9A%E6%89%B9%E9%87%8F%E9%87%8D%E5%91%BD%E5%90%8D%E5%B9%B6%E4%BF%9D%E7%95%99%E6%89%A9%E5%B1%95%E5%90%8D%EF%BC%9F.png)
是否可以批量重命名一系列文件并按顺序保留原始扩展名?
例如,如果你有一个目录中的文件:
dogfile1.jpg, wolffile493.png, and dogfile59.jpg
并想重新命名它们dog1.jpg, dog2.png, dog3.jpg
我看到您可以使用它来批量重命名但它会将其重命名为您选择的扩展名(例如 jpg):
$nr=1
Dir | %{Rename-Item $_ -NewName (‘NewFile{0}.jpg’ -f $nr++)}
答案1
干得好:
PS C:\tmp\y> $nr=1; Dir | %{Rename-Item $_ -NewName (‘NewFile{0}{1}’ -f $nr++, $_.extension)}
以下是一个简短的演示:
PS C:\tmp\y> echo "123" > firstfile.txt
PS C:\tmp\y> echo "abc" > secondfile.jpg
PS C:\tmp\y> dir -Name
firstfile.txt
secondfile.jpg
PS C:\tmp\y> $nr=1; Dir | %{Rename-Item $_ -NewName (‘NewFile{0}{1}’ -f $nr++, $_.extension)}
PS C:\tmp\y> dir -Name
NewFile1.txt
NewFile2.jpg
PS C:\tmp\y> type *
123
abc
PS C:\tmp\y>