Batch file 批量压缩文件夹
我有一个文本文件,其中包含以下内容:Batch file 批量压缩文件夹,batch-file,Batch File,我有一个文本文件,其中包含以下内容: %userprofile%/Desktop/FileFolder1 %userprofile%/Desktop/FileFolder2 %userprofile%/Desktop/FileFolder3 ect。 我想让它把每个文件夹都打包。然后我需要它将zip移动到一个特定的目录(E:/),我希望它输入版本号(1.0、1.1、1.2等),如果光盘没有足够的空间,则返回一个错误,例如: echo.Error: Not enough space on dis
%userprofile%/Desktop/FileFolder1
%userprofile%/Desktop/FileFolder2
%userprofile%/Desktop/FileFolder3
ect。
我想让它把每个文件夹都打包。然后我需要它将zip移动到一个特定的目录(E:/),我希望它输入版本号(1.0、1.1、1.2等),如果光盘没有足够的空间,则返回一个错误,例如:
echo.Error: Not enough space on disc.
当它起作用时:
echo.Success.
pause
exit
因此,如果我运行两次,光盘应具有:
E:/FileFolder1 1.0.zip
E:/FileFolder2 1.0.zip
E:/FileFolder3 1.0.zip
E:/FileFolder1 1.1.zip
E:/FileFolder2 1.1.zip
E:/FileFolder3 1.1.zip
只要不是太大。这就是我想要它做的一切。
注意:我将手动将文件夹添加到文本文件中
仅供参考,我确实尝试过研究,但一切都太长了,或者我不得不下载一些扩展包或其他东西
编辑:我还想:
echo.Error: No disc inserted.
如果没有插入光盘
FOR /F "tokens=*" %a IN (file.txt) DO @ECHO %a
帮助设置
并尝试
set cnt=0
:again
set /a cnt+=1
if exist %dest%\%name%.%cnt%%ext% goto :again
echo copy %src% %dest%\%name%.%cnt%%ext%
IF EXIST E:\NUL ECHO E:\ exists!
wmic
。使用findstr
过滤输出,并使用将结果“管道”到一个变量中。试验
FOR /F "tokens=1" %i IN ('wmic logicaldisk get name^,freespace^|findstr /I "E:"') Do @echo free = %i
然后,要检查文件是否适合,请将上一个命令的结果与文件大小进行比较,请参阅帮助调用
(此处解释了~z修饰符),然后重试
IF %free% GEQ %~z1 ECHO %1 fits in E: [%free%^>%~z1]
我把把把所有这些东西放在一起的方法留给你作为练习。你需要使用一种特殊的工具。有许多可用的文件压缩实用程序。大多数都有一个命令行界面。7-zip是我使用的,可能是最流行的。