Пакетный скрипт: заархивируйте файл и сохраните. Скопируйте журнал в файл - PullRequest
0 голосов
/ 09 января 2020

У меня есть SourceDirectory (исходный каталог), BackupDestination (целевой каталог для резервного копирования) и DestinationLog (целевой каталог для журналов). При выполнении пакетного сценария цель заключается в том, чтобы заархивировать файл в исходном каталоге и сохранить его в резервном каталоге. Выходные данные, которые log , должны быть сохранены в файл .txt в папке DestinationLog. Имя файла журнала должно быть «BuildScript_V1_», за которым следуют текущая дата и время. Когда я выполняю командный файл, процесс выполнения выполняется бесконечное количество раз. Я новичок в программировании. Я не мог понять это, хотя подобные случаи раскрыты во многих источниках.

@echo off

SET SourceDirectory = C:\Users\Folder\Downloads\Batch_Files\Source\

SET BackupDestination = C:\Users\Folder\Downloads\Batch_Files\Backup

SET DestinationLog = C:\Users\Folder\Downloads\Batch_Files\Logs


set CUR_YYYY=%date:~10,4%

set CUR_MM=%date:~4,2%

set CUR_DD=%date:~7,2%

set CUR_HH=%time:~0,2%

if %CUR_HH% lss 10 (set CUR_HH=0%time:~1,1%)

set CUR_NN=%time:~3,2%

set CUR_SS=%time:~6,2%

set CUR_MS=%time:~9,2%

set SUBFILENAME=%CUR_YYYY%-%CUR_MM%-%CUR_DD%_%CUR_HH%-%CUR_NN%-%CUR_SS%

CD /D "C:\Program Files\7-Zip"

FOR /F "TOKENS=*" %%F IN ('DIR /B /A-D "%SourceDirectory%"') DO (

    7z.exe a "%BackupDestination%\%%~NF.zip" "%SourceDirectory%\%%~NXF"
)

xcopy /s "C:\Users\Folder\Downloads\Batch_Files\Source\" "C:\Users\Folder\Downloads\Batch_Files\Backup"

C:\Users\Folder\Desktop\Backup_Log.bat>C:\Users\Folder\Downloads\Batch_Files\Logs\BuildScript_V1_%SUBFILENAME%.log
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...