在 Windows 中的批处理文件中使用
rename
命令,有一种明确的方法可以从目录中的所有文件中删除第一个文件扩展名。例如
1.txt.png => 1.png
2.txt.png => 2.png
现在我使用两种有效的重命名方法。但在我看来,这些方法看起来很“肮脏”。
1 种方法。我不喜欢第一种方法,因为我执行了
rename
两次。
rename *.txt.png *.
rename *.txt *.png
2方法。我不喜欢第二种方法,因为字符数“?”理论上可以小于文件的基本名称(不带扩展名)。
rename *.txt.png ??????????????????????????????.png
?清除方法
我想运行像
rename *.txt.png *.png
这样的命令,但它不起作用。
这里有
cmd
命令,将按照描述重命名文件。当您确信文件将被正确重命名时,请从 -WhatIf
命令中删除 Rename-Item
。
使用 PowerShell 核心:
pwsh -NoLogo -NoProfile -Command "Get-Childitem -Filter '*.*.*' | ForEach-Object { if ($_.Name -match '(.*)\..*(\..*)') { Rename-Item -Path $_.FullName -NewName ""$($Matches[1])$($Matches[2])"" -WhatIf }}"
使用 Windows PowerShell:
powershell -NoLogo -NoProfile -Command "Get-Childitem -Filter '*.*.*' | ForEach-Object { if ($_.Name -match '(.*)\..*(\..*)') { Rename-Item -Path $_.FullName -NewName ($($Matches[1])+$($Matches[2])) -WhatIf }}"