0

次のことを行うバッチスクリプトがあります

@ECHO OFF

REM move files older than 2 days from the incoming directory to the incoming archive directory
robocopy D:\Agentrics\integration\download D:\Agentrics\integration\download\archive /MOV /MINAGE:2

REM Zip files in the Archieve directory that are older than one week
FOR %%A IN (D:\Agentrics\integration\download\archive\*.txt*, D:\Agentrics\integration\download\archive\*.cpi*) DO "C:\Program Files\WinRAR\WinRAR.exe" a -r -to7d D:\Agentrics\integration\download\archive\"%%~nA.zip" "%%A"

REM Delete Original files after they are zipped
forfiles /p D:\Agentrics\integration\download\archive /s /m *.txt* /d -7 /c "cmd /c del /q @path"
forfiles /p D:\Agentrics\integration\download\archive /s /m *.cpi* /d -7 /c "cmd /c del /q @path"

REM Delete files that are older than 6 months from the archive directory
forfiles /p D:\Agentrics\integration\download\archive /s /m *.zip* /d -180 /c "cmd /c del /q @path"
pause

質問 1: スクリプトを実行すると、一部のファイルについて WinRAR 診断メッセージが表示されます。たとえば、着信ディレクトリに 2 日以内のファイルがある場合、「WinRAR 診断メッセージ: 追加するファイルがありません」というメッセージが表示されます。このメッセージのため、ダイアログ ボックスの閉じるボタンをクリックするまでスクリプトが停止します。WinRAR の無料版を使用していますが、有効期限が切れていません

質問 2: 上記のスクリプトには 2 つの別個のコマンドがあります。1 つは 1 週間以上前のファイルを圧縮するためのもので、もう 1 つは圧縮後に元のファイルを削除するためのものです。これらの 2 つのコマンドをリンクして、何らかの理由でファイルが圧縮されなかった場合にファイルが削除されないようにするにはどうすればよいですか。または、ファイルが圧縮されなかった場合にスクリプトを中断するコマンドはありますか? 最初にファイルを圧縮してから、元のファイルを削除したいだけです

4

1 に答える 1