このスクリプトを使用して特定のフォルダ/ファイルをバックアップし、それらを圧縮してからzipをdiffフォルダに移動しようとしています。windows server 2008 r2 7zバックアップスクリプト
でもエラーが発生します。環境変数を設定する
- :私は、スクリプトを実行したら
@ECHO off SETLOCAL ECHO + Setting up environment variables. SET BACKPATH=%ThisService_RootDirectory%temp\ SET ARCPATH=C:\Program Files\7-Zip\7z.exe SET ARCPARAMS=a -y SET DAYSTOKEEP=3 SET ARCHIVE_DAYSTOKEEP=30 SET SOURCEPATH=%ThisService_RootDirectory%MPMissions SET DEST_PATH=%ThisService_RootDirectory%Backups SET BACKUP_DEST=%date:~-7,2%-%date:~4,2%-%date:~-4,4% IF NOT EXIST "%BACKPATH%" ( ECHO ! Backup Path not found, exiting. GOTO END ) ELSE ( ECHO * Backup Path Found. ) IF NOT EXIST "%ARCPATH%" ( ECHO ! Archiver not found, exiting. GOTO END ) ELSE ( ECHO * Archiver Found. ) ECHO * Copying Files... xcopy "%SOURCEPATH%\Documents" "%BACKPATH%\%BACKUP_DEST%\MPMissions" /v /e /s /i /y 1>NUL 2>NUL ECHO * Archiving files... CD /D "%BACKPATH%" FOR /f %%a IN ('FORFILES /P %BACKPATH% /C "cmd /c if @isdir==TRUE echo @file" /D -%DAYSTOKEEP%') DO ( IF NOT EXIST %%a.7z ( "%ARCPATH%" %ARCPARAMS% %%a.7z %BACKPATH%\%%a\*.* 1>NUL 2>NUL copy %%a.7z %DEST_PATH% 1>NUL 2>NUL del %%a.7z 1>NUL 2>NUL ) ) ECHO * Cleaning folders older than %DAYSTOKEEP% days.. FORFILES /P %BACKPATH% /C "cmd /c if @isdir==TRUE rmdir /s /q @file" /D -%DAYSTOKEEP% 1>NUL 2>NUL ECHO * Cleaning files older than %DAYSTOKEEP% days.. FORFILES /P %BACKPATH% /M *.7z /C "cmd /c if @isdir==FALSE del @file" /D -%DAYSTOKEEP% 1>NUL 2>NUL ECHO * Cleaning archives files older than %ARCHIVE_DAYSTOKEEP% days.. FORFILES /P %DEST_PATH% /M *.7z /C "cmd /c if @isdir==FALSE del @file" /D -%ARCHIVE_DAYSTOKEEP% 1>NUL 2>NUL :END ENDLOCAL
それは、このメッセージを表示します。
- バックアップパスが見つかりました。
- アーカイバが見つかりました。
- ファイルのコピー...
- ファイルのアーカイブ... エラー:指定された検索条件でファイルが見つかりませんでした。
- .. スクリプトが正常に実行され、30日よりも古いアーカイブファイルのクリーニング
- ..ファイルを3日以上前のクリーニング
- .. 3日より古いフォルダをクリーニング。このウィンドウを閉じることができます。
今変数%ThisService_RootDirectory%ゲームサーバサービスは、あるバッチスクリプトを実行し、IMユーザーのサービス 例の実際のパスにその変数を回すということ変数ようtcadminの一部である: %のThisService_RootDirectoryは% は です。\ TCAFiles \ users \ admin \ 5 \
スクリプトはファイルを必要なフォルダにコピーしますが、ファイルを圧縮してzipを必要なフォルダに移動するようには見えません。
誰でも助けてください。
元のソースはhttps://community.spiceworks.com/topic/482860-batch-script-to-transfer-and-compress
ご意見ありがとうございます。私はすでにこれを調べました。残念ながら、私のアプリケーションではうまくいかないでしょう。私はメインスクリプトがそれを実行するユーザに基づいて変数を追加できるように必要とします。それはマルチファイルではありません。スクリプトを実行する唯一のオプションは、鉄のpythonとバッチ/シェルのスクリプトです。 –