У меня есть файл .bat, в котором я выполняю запрос и выводю результаты в файл, где последняя часть имени файла основана на дате и времени создания файла. Далее я смотрю, есть ли в созданном файле нулевые записи. Если это произойдет, я удаляю файл и не выполняю никаких дополнительных операторов в файле .bat. Если есть записи, я не удаляю файл и продолжаю выполнять оставшиеся операторы в файле .bat. Это делается на сервере windows SQL.
Когда я проверяю свои операторы, добавляя паузу после каждого оператора в моем .bat-файле, удаление работает. Чего мне не хватает?
Код выглядит следующим образом:
sqlcmd.exe /U admin /P 696946 /d p21 /S EPICORSQL1 /i \\gf-epicorsql1\p21shares\scripts\iConnect\iConnectQuery.sql /h-1 /W /o "\\gf-files1\shared\IT\Applications\P21Export\iConnect_Inv%date:~-4,4%%date:~-10,2%%date:~-7,2%%time:~0,2%%time:~3,2%%time:~6,2%.txt" /s ","
FOR %%F IN (\\gf-files1\shared\IT\Applications\P21Export\iConnect_Inv*) DO (IF %%~zF equ 0 DEL %%F)
ftp -s:\\gf-epicorsql1\p21shares\scripts\iConnect\iConnectFTPScript.ftp > iConnectOutput.txt
move \\gf-files1\shared\IT\Applications\P21Export\iConnect_Inv* \\gf-epicorsql1\p21shares\Exports\Processed_iConnect