用于压缩文件夹中文件的批处理文件/Powershell脚本
我有很多文件夹,里面有文件,例如:用于压缩文件夹中文件的批处理文件/Powershell脚本,powershell,batch-file,cmd,zip,Powershell,Batch File,Cmd,Zip,我有很多文件夹,里面有文件,例如: Folder1带有示例内容: File1.txt File2.txt File3.xml File4.jpg . . . File12.txt File22.txt File32.xml File42.jpg . . zip后的结果:Folder1.zip Folder2带有示例内容: File1.txt File2.txt File3.xml File4.jpg . . . File12.txt File22.txt File32.xml File42
Folder1
带有示例内容:
File1.txt
File2.txt
File3.xml
File4.jpg
.
.
.
File12.txt
File22.txt
File32.xml
File42.jpg
.
.
zip后的结果:Folder1.zip
Folder2
带有示例内容:
File1.txt
File2.txt
File3.xml
File4.jpg
.
.
.
File12.txt
File22.txt
File32.xml
File42.jpg
.
.
zip后的结果:Folder2.zip
如何仅压缩每个文件夹中的所有文件(而不是整个文件夹),结果文件名为“Foldername.zip”。我在(*)do(ECHO-zip-r-p“%%~na.zip”。\%%a\*”)中找到了/d%%a的代码
,
,但它可以压缩整个文件夹,而不仅仅是文件。我通过以下步骤解决了问题:
@echo off
setlocal EnableDelayedExpansion
for /f "delims=" %%a in ('dir /A:D /B') do (
xcopy /y "Path_to_empty_zip\Test.zip" ".\%%~na\"
rename "%%~na\Test.zip" "%%~na.zip"
)
for /f "delims=" %%a in ('dir /A:D /B') do (
cd "Path_to_working_folder\%%~na\"
zip -r "%%~na.zip" "*.txt"
zip -r "%%~na.zip" "*.jpg"
zip -r "%%~na.zip" "*.xml"
)
pause
我发现一些没有解决方案的类似问题,因为将我的解决方案发布为“回答我的问题”