1

На моем компьютере под управлением Windows Server 2008 R2 командный файл планируется запустить с помощью планировщика задач. По какой-то причине выполняется только часть команд в командном файле; Некоторые команды MS DOS игнорируются.

Пакетный файл MS Dos выглядит следующим образом:

s:
cd "S:\Reports\"
sqlcmd -S ipAddress -U login -P password -d dbname -i "S:\query.sql" -o "S:\Folder\Report.txt"
copy /A /Y "S:\Folder\Report.txt" Y:\

Когда я запускаю командный файл, дважды щелкнув по нему, все запускается как задумано; Но когда он выполняется из планировщика задач, только часть sqlcmd работает правильно. Команда копирования не выполняется.

Y:\ является подключенным диском под тем же логином. После того, как я напечатал свой вопрос, я вернулся и провел еще один тест. Интересно, что если я заменю подключенный диск на локальный, все, кажется, работает нормально. Итак, на данный момент похоже, что проблема связана с подключенным диском. Любые идеи по решению этого?

По сути, как скопировать или переместить файлы на подключенный диск (другой компьютер) с помощью командного файла, выполняемого из планировщика заданий?

1 ответ1

1

@briantist (скопированный ответ от)

S: и Y: возможно, сопоставленные сетевые диски, но они сопоставлены в контексте пользовательского сеанса. Запланированная задача будет запущена в своем собственном сеансе, и эти диски не будут сопоставлены.

Вместо этого следует использовать UNC-путь к общему ресурсу (\\server\share), так как он должен работать в любом контексте (при условии, что общий ресурс доступен для пользователя, на котором выполняется запланированная задача).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .