从文件名中删除第二个扩展名

Removing second extension from file name

我有如下文件:

Filename.txt
Filename.txt.new
Filename2.txt
Filename2.txt.new

我想为以 "new"

结尾的文件删除 "new" 关键字

同样,当我们这样做时,现有文件也将具有相同的名称,所以我想用以 "new"

结尾的文件的内容覆盖相同的文件

遗憾的是,这种情况下 ren *.foo *.bar 不起作用,但我们可以通过一个简单的循环来完成:

for %x in (*.new) do move /y "%x" "%~nx"

这只是遍历所有具有 .new 扩展名的文件(您也可以只对 *.txt.new 执行相同的操作)并重命名它们。 %~nx 从名称中删除扩展名,在本例中为 .new.

在批处理文件中使用它时,您必须将 % 符号加倍:

for %%x in (*.new) do move /y "%%x" "%%~nx"