Как отследить ход выполнения команды XCopy во время ее работы?

7968
ChrisinAK

OPSYS: Win10Pro 64 бит

RAM: 10 ГБ

Я создал пакетный файл, который затем сохранил на рабочем столе локальной учетной записи администратора.

Командная строка командного файла выглядит так:

xcopy "F:\movies" "L:\movies" /d 

Затем я создал расписание задач в планировщике задач для запуска командного файла.

Сейчас я его запускаю и не вижу, как он работает, кроме случаев, когда я обновляю задачи в представлении «Библиотека планировщика задач». Там я вижу это и это говорит 'Running'.

Я обеспокоен тем, что не вижу никакого индикатора прогресса, и я хотел бы видеть это. Кто-нибудь знает, можно ли это сделать?

3
Я прошу прощения за отсутствие информации. Я также заметил, что файл, который не копируется, доступен только для чтения. Может ли это быть проблемой? ChrisinAK 7 лет назад 0

2 ответа на вопрос

1
TOOGAM

Если вы используете программное обеспечение, созданное кем-то другим (например XCOPY), то единственный простой путь - просто ограничиться тем, какие функции были добавлены туда людьми, создавшими это программное обеспечение. Обходные пути могут существовать (например, ответ jorgediaz-lr ... другой возможностью может быть поиск свободного места на целевом диске, если вы знаете, сколько копируемого файла будет скопировано), но самым простым обходным путем может быть попытка использовать другое программное обеспечение. Помните, это XCOPYбыло сделано в те дни, когда /Sпереключение для включения подкаталогов считалось расширенной функцией, потому COPYчто не имело такой возможности.

В духе рассмотрения проблемы XY я отмечаю, что в Windows 10 вы можете проверить встроенную Robocopy. (Если вы не видите, как работает программа, Robocopyтакже поддерживает вывод в журнал, что может оказаться полезным.)

Я замечаю ваш /dвариант XCOPY, который, похоже, предназначен только для копирования новых файлов.

Хотя Robocopyесть некоторые опции, начиная с /Iвключения некоторых типов файлов, нет опции, начинающейся с /Iвключения новых файлов ... вместо этого опция, которая выполняет эти основные задачи, будет той, которая указывает исключение старых файлов. ( /XO)

robocopy "F:\movies" "L:\movies" /XO

Избегайте /NP(показать отображение прогресса в mp), возможно используйте /ETA(покажите примерное время прибытия).

Интересный комментарий. Я думал, что xcopy является частью инструментов Windows. переключатель / l - это L, а не i, хотя теперь у меня L в нижнем регистре, d и i в качестве переключателей для этого. / l должен показывать файлы, которые нужно скопировать, в то время как / i предполагает, что местом назначения является папка. На данный момент я все еще не могу копировать с помощью командного файла. Действительно расстраивает, потому что он скопировал другие файлы просто отлично. ChrisinAK 7 лет назад 0
Это сработало, но мне пришлось записать в командный файл каждую отдельную папку в основной папке для копирования вместо *. *. Есть ли другой способ написать это, чтобы получить все подпапки без необходимости писать строки для каждого? Также есть переключатель / ETA, который позволит мне видеть прогресс или ....? ChrisinAK 7 лет назад 0
Если вы добавите `/ E`, вы скопируете подкаталоги (включая пустые). Перейдите в командную строку и запустите `Robocopy /? >> robohelp.txt` (а затем откройте этот текстовый файл robohelp.txt). Я думаю, что `/ ETA`, вероятно, изменяет прогресс, но похоже, что у вас такая же хорошая возможность проверить это, как и у меня. TOOGAM 7 лет назад 0
0
jorgediaz-lr

Вы можете использовать Process Explorer http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

Это приложение позволяет увидеть, какие файлы открыты любым процессом, поэтому вы можете проверить открытые файлы с помощью xcopy.

То, что я ищу, - это способ просмотра хода выполнения копии в том виде, в каком она происходит. Я только что столкнулся с другой проблемой, которую раньше не замечал: теперь резервное копирование не выполняется после изменения командного файла на чтение: «xcopy "F: \ *. *" "L: \" / d / l / i " ChrisinAK 7 лет назад 0

Похожие вопросы