Làm cách nào để có bản sao để sử dụng tệp nhật ký bao gồm khoảng trắng?


11

Tôi đang thử lệnh sau:

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"

Tôi đang gặp lỗi này:

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

EDIT # 1

Hóa ra lệnh trên là hợp lệ, tôi đã có một lỗi đánh máy trong đường dẫn của mình. Nếu bạn có một đường dẫn bao gồm các khoảng trắng, bạn có thể cung cấp chúng cho chuyển đổi / nhật ký của robocopy như vậy:/log:"c:\path to a file\robocopy.log"


Làm việc cho tôi. Có lẽ nó hiển thị một lỗi chi tiết hơn ở đầu?
Carko

Bạn có đang chạy lệnh đó trong ngữ cảnh của tập lệnh thay vì trực tiếp tại dòng lệnh. Có lẽ một cái gì đó khác là thêm một số loại thoát?
Zoredache

Thông báo lỗi cho thấy rằng dấu ngoặc kép ban đầu là trước chứ không phải sau dấu hai chấm; Bạn có chắc lệnh bạn đang cố chạy là như được hiển thị không?
Harry Johnston

Tôi rất xin lỗi, tôi đã có một lỗi đánh máy trong đường dẫn. Lớn xấu hổ. Cảm ơn sự giúp đỡ nhanh chóng của mọi người! Thủ tục gì, tôi có nên xóa câu hỏi này không? Hoặc tôi có thể viết lại nó và thêm một câu trả lời cho thấy rằng bạn có thể đặt dấu ngoặc kép xung quanh đối số vào / log switch của robocopy?
slm

Không có lý do để xóa @slm. Nếu một trong những ý kiến ​​trên giúp bạn tìm ra vấn đề, hãy yêu cầu họ đăng nó dưới dạng câu trả lời, sau đó đánh dấu câu trả lời đúng. Nếu vấn đề hoàn toàn khác, hãy viết câu trả lời của riêng bạn và đánh dấu nó là câu trả lời để người tìm kiếm trong tương lai sẽ biết để kiểm tra xem họ có gặp vấn đề tương tự không.
music2myear

Câu trả lời:


11

Nếu bạn cần cung cấp một đường dẫn bao gồm khoảng trắng cho chuyển đổi / nhật ký của robocopy, bạn có thể làm như thế này:

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

Tôi nhận được Lỗi không hợp lệ: tham số # 11 "/ log". Tôi đã thêm nó vào cuối của một lệnh làm việc khác.
Andrew S

Tôi không còn làm việc khi tôi hỗ trợ các cửa sổ nên không có cách nào để kiểm tra điều này.
slm

Hãy chắc chắn rằng thư mục mẹ của tệp nhật ký tồn tại. Robocopy sẽ không tạo ra nó, và thật đáng buồn, phàn nàn về tham số cmdline nếu thư mục không tồn tại.
mojo

4

Có bốn cách đăng nhập như tài liệu Powershell

/log:<LogFile> : Ghi đầu ra trạng thái vào tệp nhật ký (ghi đè tệp nhật ký hiện có).

  • ví dụ: robocopy "c:\a" "c:\b" /log:"c:\copy_log.log"

/log+:<LogFile> : Ghi đầu ra trạng thái vào tệp nhật ký (nối đầu ra vào tệp nhật ký hiện có).

  • ví dụ: robocopy "c:\a" "c:\b" /log+:"c:\copy_log.log"

/unilog:<LogFile> : Ghi đầu ra trạng thái vào tệp nhật ký dưới dạng văn bản Unicode (ghi đè lên tệp nhật ký hiện có).

  • ví dụ: robocopy "c:\a" "c:\b" /unilog:"c:\copy_log.log"

/unilog+:<LogFile> : Ghi đầu ra trạng thái vào tệp nhật ký dưới dạng văn bản Unicode (nối thêm đầu ra vào tệp nhật ký hiện có).

  • ví dụ: robocopy "c:\a" "c:\b" /unilog+:"c:\copy_log.log"

Để biết thêm chi tiết https://technet.microsoft.com/en-us/l Library / cc733145 (v = ws.11) .aspx


Tôi cũng sẽ khuyên bạn nên thêm /teechuyển đổi vì đó cũng là sản phẩm đầu ra dòng lệnh và cho phép người dùng xem tiến trình sao chép tệp trong dòng lệnh.
vibs2006

1

Nó xảy ra khi cần quyền quản trị / hoặc pop để tạo tệp vào thư mục đó

Vì vậy, hãy thử để có một thư mục log / temp và cố gắng thêm tệp nhật ký vào thư mục nhật ký đó

$ mkdir C:\log

ví dụ:

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

0

Nếu đường dẫn đến tệp nhật ký chứa khoảng trắng hoặc một số dấu phân cách tập lệnh khác, vui lòng đưa nó vào dấu ngoặc kép như EDIT # 1 và @slm gợi ý của bạn. Nhưng ngoài ra, xin lưu ý việc sử dụng các ký tự thoát như được mô tả trong tài liệu này về kịch bản Batch .


Tôi đang gặp vấn đề tương tự sau khi di chuyển Win 10 khá tai hại và không mong muốn.
Marc
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.