命令行 Winrar 和批处理脚本

命令行 Winrar 和批处理脚本

我编写了一个小批处理脚本来备份我桌面上的某些东西并通过网络将其转储到共享位置...唯一令我烦恼的是 rar.exe 在执行压缩部分工作时的冗长程度。

有人知道是否可以调整 rar.exe 以显示整个过程的状态栏,至少抑制添加到存档中的每个单独文件的输出。

或者,如果有任何其他大家熟悉的 Windows 命令行压缩工具(winzip/7zip),我也很乐意使用它们。或者有任何建议可以让这个批处理作业更强大一些。


@echo off
echo "Beginning Compress Job"

"C:\Program Files\WinRar\rar.exe" a -agyyyy-MM-dd -r "C:\Archives\" "C:\Work\Folder1\" "C:\Work\Folder2\" "C:\Work\Folder3\" 

echo "Files backed up to C:\Archives"

NET USE U: > %TMP%\JunkerFile 2>&1
IF %ERRORLEVEL% == 0 GOTO Success
echo "Drive Disconnected - Cannot Copy Backup To U:\"
GOTO End
:Success
        echo "Drive Connected"
        echo "Performing Backup"
        move C:\Archives\*.rar U:\Archives\
        echo "Backup Complete"
        GOTO End
:End

pause

答案1

如果你想抑制输出,只需添加 > null在 rar.exe 命令行的末尾。

我使用 7-zip 的命令行工具,并且对它非常满意。它只是一个 exe。

http://dotnetperls.com/7-zip-examples

答案2

(首先,抱歉我的英语不好)

感谢这个非常有用的脚本!!!

关于该消息,在 3.42 版 winrar 中有一个参数调用 inul,您可以使用它来关闭所有消息。使用您的示例

"C:\Program Files\WinRar\rar.exe" a -agyyyy-MM-dd -r -inul "C:\A...

这样你就只能看到回显语句。

再次感谢 ;)

问候 Alejandro

答案3

那么普通的 GNU tar 和 gzip 怎么样?它们都可以在Unx工具类包,并构成我们备份策略的重要组成部分。

答案4

恐怕 winrar 不提供命令行开关来更改其详细程度。讽刺的是,它允许更改 GUI 进度条。;-)

我认为可以使用 CPU/磁盘指示器来了解它是否仍在运行。

对不起。

相关内容