Як змусити робокопію використовувати файл журналу, який містить пробіли?


11

Я намагаюся виконати таку команду:

robocopy "x:\dir" "y:\dir" /mir /z /tee /fft /nfl /ndl /eta /log:"x:\path to logs\12-15-11 01 file with spaces.txt"

Я отримую цю помилку:

ERROR : Invalid Parameter #10 : "/log:x:\path to logs\12-15-11 01 file with spaces.txt"

РЕДАКТИКА №1

Виявляється, що вищезазначена команда була дійсною, я мав помилковий друк на своєму шляху. Якщо у вас є шлях, який включає пробіли, ви можете надати їм перемикач роботокопіювання / журналу так:/log:"c:\path to a file\robocopy.log"


Працює для мене. Чи, можливо, це показує більш детальну помилку вгорі?
Карко

Ви виконуєте цю команду в контексті сценарію, а не безпосередньо в командному рядку. Можливо, щось ще додає якусь втечу?
Зоредаче

Повідомлення про помилку говорить про те, що початкові лапки є двокрапками, а не після двокрапки; ви впевнені, що команда, яку ви намагалися виконати, як показано?
Гаррі Джонстон

Мені так шкода, що я мав помилку на друку. В основному збентежений. Дякуємо за швидку допомогу усім! Яка процедура, чи потрібно видалити це запитання? Або я можу перефразовувати його і додати відповідь, що свідчить про те, що ви можете ставити цитати навколо аргументу до / log перемикача роботокопії?
slm

Немає причин видаляти @slm. Якщо один із вищезазначених коментарів допоміг вам знайти проблему, попросіть її опублікувати її як відповідь, а потім позначте відповідь правильною. Якщо питання було зовсім іншим, напишіть свою власну відповідь і позначте її як відповідь, щоб майбутні шукачі могли знати, чи немає у них подібної проблеми.
music2myear

Відповіді:


11

Якщо вам потрібно вказати шлях, який включає пробіли до перемикача / журналу роботокопії, ви можете зробити це так:

/log:"c:\path to logs files\some log file.txt"

Я отримую недійсну помилку: параметр №11 "/ log". Я додав його в кінець інакше працюючої команди.
Ендрю S

Я більше не працюю там, де підтримую вікна, тому не можу перевірити це.
slm

Переконайтесь, що існує батьківський каталог файлу журналу. Робокопія не створила його, і, на жаль, скаржиться на параметр cmdline, якщо dir не існує.
mojo

4

Існує чотири способи ведення журналу як документація на Powershell

/log:<LogFile> : Записує вихідний статус у файл журналу (замінює існуючий файл журналу).

  • наприклад: robocopy "c:\a" "c:\b" /log:"c:\copy_log.log"

/log+:<LogFile> : Записує вихідний статус у файл журналу (додає висновок до існуючого файлу журналу).

  • наприклад: robocopy "c:\a" "c:\b" /log+:"c:\copy_log.log"

/unilog:<LogFile> : Записує вихідний статус у файл журналу як текст Unicode (замінює існуючий файл журналу).

  • наприклад: robocopy "c:\a" "c:\b" /unilog:"c:\copy_log.log"

/unilog+:<LogFile> : Записує вихідний статус у файл журналу як текст Unicode (додає висновок до існуючого файлу журналу).

  • наприклад: robocopy "c:\a" "c:\b" /unilog+:"c:\copy_log.log"

Детальніше https://technet.microsoft.com/en-us/library/cc733145(v=ws.11).aspx


Я також рекомендую додати /teeперемикач, оскільки це також виводить командний рядок і дозволяє користувачеві також бачити хід копіювання файлів у командному рядку.
vibs2006

1

Це трапляється, коли потрібні права адміністратора / або pop, щоб створити файл у цьому каталозі

Тому спробуйте мати каталог log / temp і спробуйте додати файл журналу до цього каталогу журналів

$ mkdir C:\log

наприклад:

$ robocopy "c:\a" "c:\b" /log:"c:\log\copy_log.log"

0

Якщо шлях до файлу журналу містить пробіли чи інші обмежувачі сценаріїв, будь ласка, включіть його до лапок, таких як ваш EDIT №1 та @slm. Але також зверніть увагу на використання символів втечі, як описано в цій документації на пакетному сценарії .


У мене те саме питання після досить згубної та небажаної міграції Win 10.
Марк
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.