使用批处理文件将文件压缩为单独的 zip 文件

Mik*_*unk 11 batch 7-zip

因此,我尝试在批处理文件中使用 7zip 将文件夹中的文件作为单独的文件进行压缩。所以第一个文件得到它自己的 zip 存档,下一个依此类推。我一直在互联网上寻找并尝试了一堆不同的代码。到目前为止,我只成功地将它们压缩为单个 zip 文件并将其输出到我的桌面。

不幸的是,我丢失了执行此操作的代码,现在我被困在这似乎什么也没做。

@echo on
cd "C:\Users\MVD21\Desktop\test"
FOR %%i IN (C:\Users\MVD21\Desktop\test) DO 7z.exe a "%~ni.7z" "%i"
pause
Run Code Online (Sandbox Code Playgroud)

我希望每个文件都有自己的 zip 存档,并且 zip 存档共享文件的名称,当然要减去扩展名。

任何帮助是极大的赞赏。

Vom*_*yle 5

我希望每个文件都有自己的 zip 存档,并且 zip 存档共享文件的名称,当然要减去扩展名。

批处理脚本

(在顶部设置源和目标完整的显式文件夹路径,然后根据需要运行。源是您要压缩的文件所在的位置,目标是您希望将这些文件压缩到的位置。)

@ECHO ON

SET SourceDir=C:\folder\source
SET DestDir=C:\folder\destination

CD /D "C:\Program Files\7-Zip"
FOR /F "TOKENS=*" %%F IN ('DIR /B /A-D "%SourceDir%"') DO (
    7z.exe a "%DestDir%\%%~NF.zip" "%SourceDir%\%%~NXF"
)
EXIT
Run Code Online (Sandbox Code Playgroud)

命令行

FOR /F "TOKENS=*" %F IN ('DIR /B /A-D "C:\Folder\Source"') DO 7z.exe a "C:\Folder\Dest\%~NF.zip" "C:\Folder\Source\%~NXF"
Run Code Online (Sandbox Code Playgroud)

更多资源