В файлах журнала RoboCopy отсутствуют пробелы?

В файлах журнала RoboCopy отсутствуют пробелы?

Поэтому я работаю над скриптом, который будет использовать RoboCopy для копирования группы файлов и регистрации того, что именно копируется.

Работает достаточно хорошо, за исключением лог-файлов. Они выглядят примерно так:

C:\Users\Tech\Documents\desktop.initechscan1.jpgtechscan2.jpgtechscan3.jpgtechscan4.jpgtechscan5.jpgwsus.jpgwsus2.jpgC:\Users\Tech\Documents\My Music\C:\Users\Tech\Documents\My Pictures\C:\Users\Tech\Documents\My Videos\C:\Users\Tech\Documents\My Digital Editions\

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

Я использую следующую командную строку:

C:\Users\Tech\Desktop>Robocopy.exe C:\Users\Tech\Documents c:\Temp /e /l /b /xj /xf ntuser.* desktop.ini *.lnk /np /njh /log:migratedfiles.txt /v

У меня там есть /l, так как я занимаюсь отладкой, и это самый простой способ избежать копирования всего по миллиону раз.

решение1

У меня была та же проблема с журналом Robocopy, который был забит в одну строку с очень небольшим количеством читаемой информации. Что исправило это для меня, так это то, что я вижу в вашем коде; вы запускаете команду Robocopy с вашего рабочего стола. Попробуйте запустить ее, скажем, из ваших документов (переместите файл bat, если вы его используете, или измените каталог в командной строке, если вы работаете напрямую из cmd)

У меня естьнетидея почему, но для меня это решило проблему сразу. Как только я нажал cd.. и перешел из c:\users\ishan\desktop в cd:\users\ishan, robocopy снова показал правильный журнал. Я сам использую файл .bat для команды robocopy, поэтому я переместил его в свои Документы, запустил его оттуда, вуаля, проблема решена.

Надеюсь, это поможет решить и вашу проблему.

решение2

Я боролся с этой же проблемой и, кажется, нашел ответ. Вам придется немного поискать, но после этого все должно быть довольно просто

Найдите roboили похожие на вашем C:диске. Вы хотите найти местоположения RoboCopy.EXEи RoboCopy.EXE.MUI. На 32-битной тестовой системе Windows 7, которую я использовал, я нашел указанные файлы в следующих каталогах:

C:\Windows\System32\RoboCopy.EXE
C:\Windows\System32\en-US\RoboCopy.EXE.MUI

Скопируйте эти файлы в отдельный каталог, но сохраните ту же структуру каталогов, которую вы найдете после System32. Например:

C:\Test_PGM\RoboCopy.EXE
C:\Test_PGM\en-US\RoboCopy.EXE.MUI

Теперь запустите RoboCopyиз альтернативного каталога. Например:

C:\>"C:\Test_PGM\RoboCopy.EXE" "C:\Test_SRC" "C:\Test_DST" /COPYALL

Это обеспечит правильно отформатированный вывод.

решение3

Я считаю, что PATH, используемый при запуске пакетного файла, является ключевым. Переменная Path имеет (для меня) %SystemRoot%\system32; %SystemRoot%; и т. д.

Однако задание, запускающее bat-файл с: ROBOCOPY.EXE /JOB:имя_задания.RCJ, выполняется иначе, чем C:\Windows\System32\ROBOCOPY.EXE /JOB:имя_задания.RCJ

Для корректного выполнения задания я указываю полный путь в вызове... Я нашел две версии Robocopy.exe (обе одинакового возраста, версии продукта и выполняют свою функцию правильно), поэтому я не знаю, какой путь без указания полного имени имеет другую версию исполняемого файла, но это неправильно.

Связанный контент