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


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.