从文件名中删除扩展名

时间:2012-12-15 15:24:25

标签: file batch-file zip 7zip

folder1我有一个文件列表:

file1.exe
ahahdf.exe
ahdfkqkq.exe

我想运行一个脚本并让它在folder2中创建以下文件:

file1.zip
ahahdf.zip
ahdfkqkq.zip

我的尝试:

for %%f in (*.*) do "c:\program files\7-zip\7z.exe" a %%f.zip %%f

这会创建file1.exe.zip,...但我需要file1.zip,...(没有.exe扩展名。)

我该怎么做?

1 个答案:

答案 0 :(得分:1)

应该是

for %%f in (*.*) do "c:\program files\7-zip\7z.exe" a %%~nf.zip %%f

注意%%~nf - ~n告诉命令解释器选择没有扩展名的文件名部分。

另外,我会将参数括在双引号(“param”)中,以确保正确处理包含空格的文件名。