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

@echo on
(
copy W:\DUMP\UATDP-%date:~7,2%.DMP  F:\DP_DUMP\UATDP-%date:~7,2%.DMP /Y
 copy W:\DUMP\IUATDP-%date:~7,2%.DMP  F:\DP_DUMP\IUATDP-%date:~7,2%.DMP  /Y

) > LOG_COPY-%date:~7,2%.TXT

Может ли кто-нибудь помочь мне с этой задачей?

2 ответа2

0

Ваша последняя строка:

) > LOG_COPY-%date:~7,2%.TXT  

Просто замените это на

) > D:\logs\log_copy_%date:~7,2%.txt
0

Вам нужно будет указать рабочий каталог. Когда вы вручную запускаете пакетный файл, вы выполняете его из каталога, в котором существует пакетный файл. Без указания рабочего каталога планировщик задач будет выполнять его из своего рабочего каталога. (Как примечание, это, вероятно, означает, что у вас есть некоторые текстовые файлы, которые находятся в рабочем каталоге планировщика задач)

С точки зрения пользователя PetSerAl , самый простой способ - это добавить полный путь к файлу .txt, который вы пытаетесь сохранить, будь то в той же папке, что и пакет, или на вашем рабочем столе, или в каталог файла журнала. ,

В качестве альтернативы можно добавить строку cd чтобы изменить каталог непосредственно перед сохранением файла, или использовать pushd если вы действительно хотите излишне усложнять вещи.

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