Điểm:0

Windows CLI cách sao chép vào cùng thư mục và chỉ thay đổi trường hợp của tên tệp?

lá cờ in

Tôi có Windows 10 pro, với NTFS. Tôi nghĩ rằng hệ thống tập tin hoàn toàn phân biệt chữ hoa chữ thường. Tôi có thể có tệp Bill_and_Ted.txt trong một thư mục và viết các tập lệnh để không nhầm nó với bill_and_ted.txt. Các ứng dụng Linux WSL truy cập các thư mục NTFS hoàn toàn phân biệt chữ hoa chữ thường.Nhưng có vẻ như các tiện ích Windows bị nhầm lẫn.

Vì vậy, NTFS có thể phân biệt chữ hoa chữ thường, nhưng có lẽ Windows thì không. Có thể trong Windows để tạo hai tệp trong cùng một thư mục chỉ khác nhau trong trường hợp ASCII không?

Vì nhiều lý do phát triển phần mềm, tôi muốn có các tệp Bill_and_Ted.txt và bill_and_ted.txt trong cùng một thư mục, sau đó thay đổi nội dung. Nhưng cho đến nay, Powershell Copy-Item và Windows xcopy từ chối sao chép vào cùng một thư mục khi tên tệp chỉ khác nhau trong trường hợp. Họ thất bại với "Không thể sao chép tệp vào chính nó"

Có cách Windows tích hợp để sao chép vào cùng thư mục và chỉ thay đổi trường hợp của tên tệp không?

Điểm:3
lá cờ cf

Điều này có thể hữu ích.

https://superuser.com/a/412413/1176865

Chuyển đến thư mục và chạy lệnh sau:

for /f "Tokens=*" %f in ('dir /l/b/a-d') do (đổi tên "%f" "%f")

Đây là sự cố trong trường hợp ai đó muốn sửa đổi/cải thiện:

  • cho /f - Đối với mỗi dòng
  • "Mã thông báo = *" - Xử lý từng mục trong mỗi dòng.
  • %f trong (...) - %f là tên biến của bạn cho mọi mục.
  • thư mục - liệt kê mọi tệp và thư mục con trong một thư mục.
  • / tôi - (tham số cho dir) Sử dụng chữ thường.
  • /b - (tham số cho dir) Sử dụng định dạng trống, chỉ có tên tệp/thư mục, không có kích thước, không có tiêu đề.
  • / a-d - (tham số cho dir) Làm không phải danh sách thư mục. (một viết tắt của thuộc tính, - viết tắt của không phảiđ viết tắt của danh mục).
  • đổi tên "%f" "%f"- đổi tên tệp bằng tên riêng của nó, tên này thực sự được viết thường bởi thư mục lệnh và / tôi sự phối hợp.
lá cờ in
Hoàn hảo! Tôi đã xóa câu trả lời của mình và nâng cấp câu trả lời của bạn vì nó tốt hơn. Bạn không cần dấu ngoặc đơn xung quanh lệnh `rename` (và tôi sẽ gõ `ren` vì tôi lười).
another victim of the mouse avatar
lá cờ cf
cảm ơn vì đã phân tích nó cho tôi. adhd của tôi quyết định rằng tôi đã đóng góp đủ năng lượng tinh thần. :P
Điểm:1
lá cờ za

Câu trả lời ngắn gọn là, miễn là bạn đang sử dụng windows thì nó sẽ không hoạt động. Windows API không hỗ trợ phân biệt chữ hoa chữ thường.

Trong tài liệu tham khảo để : https://stackoverflow.com/questions/33998669/windows-ntfs-and-case-sensitive

Điểm:0
lá cờ in

Một giải pháp là sử dụng fsutil để kích hoạt setCaseSensitiveInfo cờ trên thư mục chứa. Vì vậy, trong trường hợp của tôi, tôi Đặt-Vị trí cho thư mục đích, sau đó sử dụng:

kích hoạt tệp fsutil.exe setCaseSensitiveInfo (Nhận vị trí)

Bài viết HowToGeek giải thích cờ setCaseSensitiveInfo

Cảm ơn vì câu trả lời stackoverflow này!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.