批量文件将消除第二次扩展

时间:2014-09-14 21:56:15

标签: windows batch-file dos

我有一个文件夹,我想剥离SECOND扩展名。我需要一个批处理文件来执行此操作:

-part1.prt.1
-sub-assembly.asm.3
-part2.prt.5
-part6.prt.3

这就是我需要的:

-part1.prt
-sub-assembly.asm
-part2.prt
-part6.prt

2 个答案:

答案 0 :(得分:1)

@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir\t w o"
FOR %%a IN ("%sourcedir%\*") DO (
 IF NOT "%%~xa"=="" FOR %%b IN ("%%~dpna") DO (
  IF NOT "%%~xb"=="" ECHO(REN "%%~a" "%%~b"
 )
)

GOTO :EOF

您需要更改sourcedir的设置以适合您的具体情况。我使用U:\sourcedir\t w o向自己证明它可以在目录或文件名中使用空格。

为了测试目的,所需的REN命令仅为ECHO在您确认命令正确后,将ECHO(REN更改为REN以实际重命名文件。

答案 1 :(得分:1)

如果您知道所有文件都采用这种3部分格式,那么您只需使用:

ren *.* *.

这将删除最终扩展名。因此将“part1.prt.1”改为“part1.prt”,它也会将“other.1”更改为“other”,因此请确保它是您要为所有文件执行的操作。

一个巧妙的技巧,如果您要删除的所有扩展名都在正常的3个字符扩展名下 - 例如就像你似乎有的修订号。

ren *.?? *.

仅适用于2个字符或更少的扩展程序