【问题标题】:how to compress multiple folders into one with batch file如何使用批处理文件将多个文件夹压缩为一个
【发布时间】:2018-12-11 05:59:33
【问题描述】:

我有一个批处理文件来压缩一个文件夹并用日期和时间重命名它,它运行良好。

现在我需要同一个文件将多个文件夹压缩成一个压缩 rar 文件。

这是我的批次:

@echo off
echo STARTING BACKUP...
echo %date% %time%
echo+

:: variables
set src=D:\test
set dest=D:\Backups

set filename=%DATE:/=-%_%TIME::=-%
set filename=%filename: =%
Set Rar=%ProgramFiles%\WinRar\WinRAR.exe

"%Rar%" a -m5 -ed -pEltyar -r %dest%\%filename%.rar "%src%"

echo Backup Completed!
@pause

【问题讨论】:

标签: batch-file compression rar


【解决方案1】:

你可以试试这样的:

@echo off
Title Compress multi-folders in one with Winrar
Mode 70,5 & color 0A
echo STARTING BACKUP...
Call :GetFileNameWithDateTime
echo %filename%

:: variables
set src="D:\test1","D:\test2"
set dest=D:\Backups

If not exist "%dest%" MD "%dest%"

Set Rar=%ProgramFiles%\WinRar\RAR.exe

for /f "delims=," %%i in ('echo %src%') do (
    "%Rar%" a -inul -m5 -ed -hpEltyar -r "%dest%\%filename%.rar" "%%~i"
)
If "%errorlevel%" EQU "0" (
    echo(
    echo Backup Completed Successfully !
) Else (
    echo( & color 0C
    echo There was an error occured !
)
Timeout /T 10 /nobreak>nul & exit

::*********************************************************************************************
:GetFileNameWithDateTime
for /f "skip=1" %%x in ('wmic os get localdatetime') do if not defined MyDate set "MyDate=%%x"
set "filename=%MyDate:~0,4%-%MyDate:~4,2%-%MyDate:~6,2%-%MyDate:~8,2%-%MyDate:~10,2%"
exit /b
::*********************************************************************************************

【讨论】:

  • 您是否收到任何错误消息?你能解释一下你的问题吗?
  • 不,我没有收到任何错误,它说备份完成并且文件夹中没有压缩文件
  • 你应该把这行改成你的set src="D:\test1","D:\test2","D:\test3","D:\test4","D:\test5"你改成你的了吗?
  • 当然,我有两个文件夹set src="D:\test1","D:\test2"
  • @MuhammadS.Eltyar 请检查我的编辑代码并告诉我它在你这边是如何工作的?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-06
  • 2013-12-16
  • 2012-10-08
  • 2018-07-25
  • 2019-04-19
  • 1970-01-01
  • 2016-10-23
相关资源
最近更新 更多