使用批次檔為 WinRar 壓縮檔新增註釋

使用批次檔為 WinRar 壓縮檔新增註釋

使用 Winrar 時,我們可以為檔案新增評論。我正在使用一個簡單的批次腳本來備份資料夾。有沒有辦法使用批次檔為 rar 檔案新增註解?

最好我想透過命令提示字元視窗添加註釋,而不必使用外部文件來載入註釋。

這是批次檔。

@echo off
"C:\Program Files\WinRAR\Rar.exe" -r  a -agYYYY-MM-DD-HH-MM "C:\Folder" "B:\Archive" -ep1 -r -m5
pause

它將把 C:\Folder 中的所有內容存檔到 B:\Archive

答案1

使用檔案可能仍然是最簡單的方法,但您可以即時產生它。一個例子可能是這樣的:

@echo off
SET /P comment=Comment:
echo %comment% > C:\Temp\message.txt
rar.exe a -zC:\Temp\message.txt "test.rar" "C:\TestFiles"
del C:\Temp\message.txt
pause

答案2

SET /P comment=Comment: seems to need a manual Enter-press, otherwise the command just waits...

試圖為大家解決這個問題......我陷入困境。

所以我提出了另一個更簡單的解決方案,而且效果同樣好,甚至更好?

@echo off
echo Winrar Incremental Wallets Backup E: > C:\Temp\winrar.message.E.txt

執行 rar 命令並新增以下選項:-zC:\Temp\winrar.message.E.txt

為了保持乾淨,您可以使用以下命令完成批次檔:

del /F /Q C:\Temp\winrar.message.E.txt

這就是我的解決方案的全部內容。

我使用的是 Windows 2019,我只是無法讓 SET /P 正常工作(或者我太笨了)*

  • 當談到 SET /P 以及為什麼它對我來說失敗時......我不知道,如果你知道什麼,請告訴我。這篇文章非常有趣,但即使這樣對我來說也不起作用(https://www.robvanderwoude.com/battech_inputvalidation_setp.php)。他給出的代碼:

    SETLOCAL EnableDelayedExpansion SET /P var="在此鍵入任何內容:" ECHO .!var!. ECHO 去掉引號: .!var:"=!. REM 如果你確實想拒絕帶有任何引號的變數... ECHO !var! | FIND """" >NUL && SET var= REM 就是這樣。

我也嘗試過:SET /P comment=Comment: < nul跳過必須按 Enter 鍵,但無法使用 SET /P (由我),我不能說這可以解決必須按 Enter 鍵的原始解決方案。 SET /PI 的主要問題是諸如ECHO .!var!.ECHO !var!ECHO %comment%甚至ECHO %%comment%%實際上沒有給出任何結果。變數未設定。只有當我自己手動輸入註釋字串時,我才能得到結果。不然就亂了:)

相關內容