我有一个文件夹,我想剥离SECOND扩展名。我需要一个批处理文件来执行此操作:
-part1.prt.1
-sub-assembly.asm.3
-part2.prt.5
-part6.prt.3
这就是我需要的:
-part1.prt
-sub-assembly.asm
-part2.prt
-part6.prt
答案 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个字符或更少的扩展程序