Временная задержка между двумя командами dos
Привет,
Я пытаюсь включить задержку в 120 секунд между следующими двумя командами DOS в скрипте .bat:
COPY \\CDFS23001\\SOURCE\ORG\*ACCOUNTS*.xml \\CDFS23001\\SOURCE\TGT\ TIMEOUT /T 120 /NOBREAK dir /b \\CDFS23001\\SOURCE\TGT\*ACCOUNTS*.xml > \\CDFS23001\\SOURCE\TGT\List_Accounts.txt
Вышеуказанный тайм - аут отлично работает при непосредственном выполнении скрипта .bat непосредственно или через командную строку, но не работает при выполнении задачи в другом инструменте (command task in ETL tool-Informatica Powercenter).
Команды COPY и DIR работают нормально, но только тайм-аут не работает, когда пакетный файл вызывается через внешнюю задачу.
Я также пробовал PING, CHOICE, PAUSE, SLEEP ни один из них не работает здесь, когда файл .bat вызывается через внешнюю задачу.
Может ли кто-нибудь, пожалуйста, подсказать мне, в чем может быть проблема или любой другой способ включить временную задержку между вышеуказанными двумя командами.
Заранее спасибо
Что я уже пробовал:
Я также пробовал PING, CHOICE, PAUSE, SLEEP, но ни один из них здесь не работает.
Alan N
Прежде чем кто-либо сможет попытаться ответить, ему нужно будет знать, что вы подразумеваете под "При выполнении задачи в другом инструменте"
Aditya_ETL
Спасибо Алану, я обновил вопрос и включил детали инструмента
Richard MacCutchan
Вам нужно собрать больше информации, чтобы точно узнать, что происходит, когда вы запускаете его через инструмент. Добавьте несколько операторов echo и захватите все выходные данные.
Sajjid Atta
Я никогда не работал с вашим инструментом, но попробуйте эту команду. Это может сработать
инструкция waitfor SomethingThatIsNeverHappening /Т 100
Aditya_ETL
Замечательно..!!!! Это сработало, спасибо огромное
С уважением,
Адитья
Dave Kreskowiak
Проблема с использованием произвольной задержки заключается в том, что она работает на текущей сетевой нагрузке и количестве файлов. Когда сеть будет загружена другим трафиком и количество ваших файлов увеличится, эта задержка снова приведет к сбою.
Использование тайм-аута является плохим решением и не устраняет основную причину проблемы.
Да, и опять же, команда копирования-это блокирующий вызов. Следующая строка пакетного файла не будет выполняться до тех пор, пока каждый байт каждого файла не будет скопирован в место назначения.