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%%
実際には結果を返さないことです。変数は設定されていません。コメント文字列を手動で入力した場合にのみ、結果を得ることができます。そうでない場合は、混乱します :)