Win 批处理文件 - 删除第一个文件扩展名

问题描述 投票:0回答:1

在 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
这样的命令,但它不起作用。

windows batch-file cmd rename batch-rename
1个回答
0
投票

这里有

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 }}"
© www.soinside.com 2019 - 2024. All rights reserved.