it-swarm-vi.tech

Lệnh dòng lệnh windows để sao chép tập tin là gì?

Lệnh windows Lệnh Prompt để sao chép tập tin là gì?

Tôi cần di chuyển tệp từ vị trí A sang vị trí B. Ngoài ra, nếu thư mục cho vị trí B không tồn tại, tôi muốn tạo nó.

Tôi cần đây là một dòng lệnh để tôi có thể tự động hóa nó.

Phiên bản của Windows là XP.

35
David Basarab

Lệnh xcopy là những gì bạn đang tìm kiếm. Thí dụ:

xcopy source destination /E /C /H /R /K /O /Y

Lệnh trên sẽ sao chép nguồn vào đích, tệp và thư mục (bao gồm cả tệp trống), sẽ không dừng do lỗi, sẽ sao chép các tệp bị ẩn và hệ thống, sẽ ghi đè lên các tệp chỉ đọc, sẽ lưu giữ các thuộc tính và thông tin sở hữu/ACL và sẽ triệt tiêu nhắc nhở ghi đè lên các tập tin đích hiện có.

/E    Copies directories and subdirectories, including empty ones.
      Same as /S /E. May be used to modify /T.
/C    Continues copying even if errors occur.
/H    Copies hidden and system files also.
/R    Overwrites read-only files.
/K    Copies attributes. Normal Xcopy will reset read-only attributes.
/O    Copies file ownership and ACL information.
/Y    Suppresses prompting to confirm you want to overwrite an
      existing destination file.

Để biết thêm thông tin loại xcopy /? và dòng lệnh của bạn.

47
user1797

Sử dụng md để tạo thư mục (không sao nếu nó đã tồn tại)

Sử dụng bản sao hoặc là di chuyển cho các tập tin và xcopy cho các thư mục

8
Dani

Trong một tệp bó:

if not exists locationB\nul mkdir locationB
copy locationA\file locationB

if not exists kiểm tra tham số để xem nó có tồn tại không, nhưng nó chỉ hoạt động trên các tệp. Để kiểm tra sự tồn tại của thư mục, bạn cần tìm một 'tệp giả' có tên là "nul" - kiểm tra sự tồn tại của tệp này sẽ luôn trả về đúng nếu thư mục tồn tại.

Dòng sao chép sao chép tệp có tên file trong thư mục locationA thành locationB và đặt tên tệp giống nhau. Nếu bạn muốn đổi tên tệp cùng một lúc, bạn cũng có thể làm điều đó:

copy locationA\file locationB\newfilename
2
Graeme Perrow

Nếu bạn muốn khả năng đồng bộ hóa bản sao và các tính năng nâng cao khác (bỏ qua các thư mục nhất định, chỉ bao gồm các ký tự đại diện nhất định), hãy xem robocopy. Bao gồm trong Vista và hơn thế nữa, tùy chọn (từ các công cụ bộ tài nguyên) trong các phiên bản trước.

2
Richard

Sử dụng ROBOCOPY nếu bạn đang tạo tập lệnh sao lưu. xcopy đã không được chấp nhận và có thể sẽ bị loại bỏ sử dụng trong tương lai gần. robocopy có thể làm mọi thứ xcopy có thể. Nó cũng linh hoạt và đáng tin cậy hơn. Tạo các kịch bản với bản sao sẽ chứng minh chúng trong tương lai.


  1. Sử dụng robocopy để dễ dàng sao chép các thư mục. Lệnh robocopy thay thế lệnh xcopy. Nó có thể nhanh chóng sao chép toàn bộ thư mục mà không phải lo lắng về việc xác định nội dung. Ví dụ: để sao chép tất cả nội dung của thư mục C:\tools vào thư mục mới D:\backup\tools, hãy nhập như sau:

    robocopy C:\tools D:\backup\tools /e
    

    Công cụ sửa đổi/e báo cho robocopy bao gồm tất cả các thư mục con. Điều này bao gồm các thư mục trống. robocopy sẽ tự động sao chép các tập tin ẩn và hệ thống. Nó sẽ tạo các thư mục mới nếu chúng không tồn tại ở vị trí đích.

  2. Phản chiếu một thư mục. Phản chiếu một thư mục là tuyệt vời để tạo bản sao lưu. Tùy chọn nhân bản của robocopy sẽ sao chép tất cả các nội dung từ nguồn đến đích. Sau đó nó sẽ xóa bất cứ thứ gì ở đích không tồn tại ở nguồn. Điều này đảm bảo rằng bản sao lưu của bạn chỉ có các phiên bản mới nhất của tệp của bạn. Ví dụ: để phản chiếu C:\Users\My Documents sang D:\backup\My Documents, hãy nhập thông tin sau: [4]

    robocopy "C:\Users\My Documents" "D:\backup\My Documents" /mir
    

    Chức năng này sẽ bảo vệ tất cả các quyền của các tập tin gốc.

  3. Cho phép khởi động lại. Bạn có thể muốn bao gồm khả năng khởi động lại quá trình trong trường hợp kết nối bị cắt giữa bản sao.

    robocopy "C:\Users\My Documents" "D:\backup\My Documents" /z
    
  4. Đăng nhập quá trình sao chép. robocopy cho phép bạn tạo một tệp nhật ký. Điều này có thể giúp bạn xác định chính xác các vấn đề hoặc tạo một kho lưu trữ những gì đã được sao chép.

    robocopy "C:\Users\My Documents" "D:\backup\My Documents" /log+:<filename>.txt
    

    Công cụ sửa đổi/log + sẽ nối thêm tệp nhật ký hiện tại thay vì ghi đè lên nó. Nếu bạn muốn ghi đè lên tệp nhật ký cũ, hãy sử dụng /log:.txt.

2
Program-Me-Rev

xcopy sẽ tạo cấu trúc thư mục cho bạn. Thủ thuật là sử dụng tùy chọn/I và ném dấu hoa thị vào cuối tên tệp để xcopy nghĩ rằng bạn đang sao chép nhiều tệp, nếu không, nó sẽ hỏi bạn nếu tên đích là tên tệp bạn muốn hay tên thư mục bạn muốn . Ví dụ.

xcopy /I c:\<SourceDir>\<SourceFile> c:\<TargetDirThatDoesNOTExist>

Tôi cũng sẽ xem RoboCopy, nhưng bạn cần lấy nó từ bộ tài nguyên vì nó không có trong Windows cho đến Vista.

0
WaldenL