Я пытаюсь получить этот скрипт для резервного копирования определенной папки/файлов и их zip, а затем переместить zip в папку diff.windows server 2008 r2 7z backup script
, но я продолжаю получать сообщение об ошибке.
@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
когда я запускаю сценарий дает это сообщение:
- Настройка переменных окружения.
- Резервный путь Найдено.
- Архиватор Найдено.
- Копирование файлов ...
- Архивация файлов ... ОШИБКА: Файлы не найдены с указанными критериями поиска.
- Очистка папки старше 3 дней ..
- Очистка файлов старше 3 дней ..
- Очистка архивов файлов старше 30 дней .. Скрипт успешно выполненных. Вы можете закрыть это окно.
Теперь переменная% ThisService_RootDirectory% является частью tcadmin, которая является службой игровой сервер, так что переменная, где им выполнение пакетного сценария превратило бы эту переменную в реальный путь обслуживания пользователей пример: % ThisService_RootDirectory % является C: \ TCAFiles \ Users \ Admin \ 5 \
копий скрипт файлы в нужную папку, но это, кажется, не заархивировать файлы и перемещать молнию в нужную папку.
может кто-нибудь помочь здесь.
оригинальный источник в https://community.spiceworks.com/topic/482860-batch-script-to-transfer-and-compress
Спасибо, что обратились к нам. Я уже изучил это. К сожалению, это не сработает для моего приложения. Мне это нужно, поэтому мой основной скрипт может добавлять переменные на основе пользователя, выполняющего его. Это не может быть многострочный скрипт, и моими единственными параметрами для выполнения скрипта являются скрипт python и пакетный/shell-скрипт. –