Я создаю SQL Серверное задание, которое будет выполняться автоматически, чтобы получить несколько журналов с нашего сервера и впоследствии отправить электронное письмо через powershell. Вот что мы помещаем в командное окно на шаге 1.
@echo off
rem get current date and time
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%
rem put the current date and time to variable SUBFILENAME
set SUBFILENAME=%CUR_YYYY%%CUR_MM%%CUR_DD%-%CUR_HH%%CUR_NN%%CUR_SS%
rem create logfile and start to get logs
Echo ======================Start of Log Gen: %Date% %Time%==================================== >> C:\Directory\%SUBFILENAME%.txt
start /b /wait "" C:\LogfileGenerationCommand >> C:\Directory\%SUBFILENAME%.txt
powershell -file "C:\Directory\send_email.ps1"
goto:eof
Однако, когда мы пытаемся запустить задание, мы получаем ошибку
Система не может найти указанный файл.
Я вполне уверен, что ошибка возникает из-за того, что предполагается создать файл журнала с текущей датой и временем, поскольку при проверке каталога файл журнала не создается. Однако мы не уверены, почему это происходит, поскольку, если мы запускаем эти команды в файле bat, ничего не происходит неправильно.