Ответ планировщика заданий (0x1) при копировании файла на диск - PullRequest
0 голосов
/ 02 октября 2019

Я записываю код в файл резервной копии на диск с картой. Это сработало, когда я запустил его вручную (создал zip-файл и скопировал файл на диск с картой).

Вот мой код:

@echo off
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=web2_%CUR_YYYY%%CUR_MM%%CUR_DD%-%CUR_HH%%CUR_NN%%CUR_SS%
md C:\Backup\"%SUBFILENAME%"
md C:\Backup\"%SUBFILENAME%"\05_SOHOA_HOSOLUUTRU
XCOPY "E:\Data_SoHoa\05_SOHOA_HOSOLUUTRU" "C:\Backup\%SUBFILENAME%\05_SOHOA_HOSOLUUTRU" /E
md C:\Backup\"%SUBFILENAME%"\05_SOHOA_HOSOLUUTRU_API
XCOPY "E:\Data_SoHoa\05_SOHOA_HOSOLUUTRU_API" "C:\Backup\%SUBFILENAME%\05_SOHOA_HOSOLUUTRU_API" /E
md C:\Backup\"%SUBFILENAME%"\DATA
XCOPY "E:\Data_SoHoa\DATA" "C:\Backup\%SUBFILENAME%\DATA" /E
XCOPY "E:\Data_SoHoa\setup-TcpServerService.exe" "C:\Backup\%SUBFILENAME%\" /X
set PATH=C:\Program Files\7-Zip\
SETX MYPATH "%PATH%"
7z a C:\"%SUBFILENAME%".zip C:\Backup\"%SUBFILENAME%"
set copyfile = C:\%SUBFILENAME%.zip
COPY "C:\%SUBFILENAME%.zip" "Z:\Backup\TLAM_sohoa\%SUBFILENAME%.zip"  

Затем я настраиваю Task Scheduler для автоматического запуска этого сценария bat,Он создал zip-файл, но не скопировал этот zip-файл на диск карты и вернул (0x1) результат.

Вот мои настройки

enter image description here

enter image description here

enter image description here

1 Ответ

0 голосов
/ 02 октября 2019

Я решил опубликовать это как переписанный пример. Он формулирует строку даты не зависящим от локали / ПК образом, сокращает количество повторяющихся и ненужных команд, заменяет устаревший XCopy на RoboCopy и использует PushD для создания временного сопоставления с местоположением вашего сервера для окончательной команды копирования.

@Echo Off
Set "SubFileName="
For /F "Tokens=1-6Delims=/: " %%A In ('RoboCopy/NJH /L "\|" Null'
)Do If Not Defined SubFileName Set "SubFileName=web2_%%A%%B%%C-%%D%%E%%F"
Set "CopyFile=C:\%SubFileName%.zip"
For %%A In ("05_SOHOA_HOSOLUUTRU" "05_SOHOA_HOSOLUUTRU_API" "DATA"
)Do RoboCopy "E:\Data_SoHoa\%%~A" "C:\Backup\%SubFileName%\%%~A" /E
RoboCopy "E:\Data_SoHoa" "C:\Backup\%SubFileName%" "setup-TcpServerService.exe" /CopyAll
"%ProgramFiles%\7-Zip\7z.exe" a "%CopyFile%" "C:\Backup\%SubFileName%"
PushD "\\server…\Backup\TLAM_sohoa"
Copy "%CopyFile%"
PopD

Просто измените server… в строке 10 на UNC-путь местоположения, который после входа в систему будет связан с Z:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...