问题
In folder1 I have a list of files:
file1.exe
ahahdf.exe
ahdfkqkq.exe
I want to run a script and have it create the following files in folder2:
file1.zip
ahahdf.zip
ahdfkqkq.zip
My attempt:
for %%f in (*.*) do "c:\program files\7-zip\7z.exe" a %%f.zip %%f
This creates file1.exe.zip, ... but I need file1.zip, ... (without the .exe extension).
How can I do this?
回答1:
Should be
for %%f in (*.*) do "c:\program files\7-zip\7z.exe" a %%~nf.zip %%f
Note %%~nf - ~n tells command interpreter to pick the filename part without extension.
Also I would enclose parameters into double-quotes ("param") to ensure that filenames that contain spaces are properly handled.
来源:https://stackoverflow.com/questions/13893460/remove-extension-from-filename