Có cách nào để lưu một dấu gạch chéo trong tên tệp không?


0

Có cách nào để có dấu gạch chéo "/" trong tên tệp không? Dấu gạch chéo "thực", không phải một số ký hiệu Unicode khác. Hệ thống tập tin phải là FAT16 / 32 và Ext4.


Nếu bạn có thể, bạn sẽ sử dụng nó như thế nào? Làm thế nào bạn có thể nói bạn muốn mở tệp "a / b" chứ không phải tệp "b" trong một thư mục "a"?
David Schwartz

Thoát khỏi nó một dấu gạch chéo ngược như đối với các ký tự đặc biệt khác. Nó hoạt động cho * và? ... Ví dụ: "a \ / b"
Den

Điều đó không thực sự có ích. Làm thế nào bạn biết được "a \ / b" có nghĩa là tệp "a \ / b" hay tệp "b" trong thư mục "a \"? Dấu gạch chéo ngược là ký tự hợp pháp trong tên tệp. Về nguyên tắc, không thể có thứ gì đó là dấu phân cách thư mục nhưng cũng cho phép mọi chuỗi có thể có trong tên tệp. Một số trình tự phải bị cấm trong một tên tệp để được sử dụng rõ ràng như một dấu tách thư mục.
David Schwartz

Câu trả lời:


4

máy lẻ

Số ext4 cho phép tất cả các ký tự Unicode trừ NUL và /. Cái sau không thể được sử dụng bởi vì nó là dấu phân cách thư mục của hệ thống tập tin.

FAT16 / 32

FAT16 / 32 không hỗ trợ /nguyên bản, nhưng tên tệp dài (LFN) thì có.

Tuy nhiên, các trình điều khiển LFN trong Windows, Linux, Unix, MS-DOS, OS / 2 và có thể các hệ điều hành khác không cho phép /trở thành một phần của một LFN. Ngay cả khi bạn có thể tạo một tệp như vậy với một HĐH khác, rất có thể bạn sẽ không thể truy cập tệp đó bằng các hệ điều hành đó.

Nguồn: So sánh các hệ thống tập tin - Wikipedia


> FAT doesn't support / natively, but long filenames (LFN) do. Huh‽ Trường hợp nào nói rằng FAT hỗ trợ /? o.O > Even if you could create such a file with a different OS, you most likely wouldn't be able to access it using those operating systems. Đúng rồi. Tôi đã thực hiện các thử nghiệm trong quá khứ khi tôi sử dụng trình soạn thảo hex để sửa đổi trực tiếp tên tệp trong các mục nhập thư mục và trong khi tôi có thể xem danh sách thư mục, DOS và Windows (và tất nhiên các chương trình) thường chùn bước trước bất kỳ thứ gì có chứa các ký tự không hợp lệ. Một số vẫn có thể được đổi tên bằng cách sử dụng ký tự đại diện, một số thì không.
Synetech

@Synetech: Tôi đã nói rằng FAT không hỗ trợ /. Tôi có hiểu lầm gì không?
Dennis

Bạn nói rằng /có thể được sử dụng trong tên tập tin dài, nhưng tôi chưa bao giờ thấy bất cứ điều gì cho hiệu ứng đó. Các LFN (ví dụ, vFAT) hỗ trợ một vài ký tự mà FAT đơn giản không thích +", nhưng cuối cùng tôi đã kiểm tra, /không phải là một trong số chúng. Bạn đang đề cập đến một trình cắm thêm hệ thống tệp hay cái gì đó?
Synetech

Theo bài viết Wikipedia mà tôi liên kết đến, VFAT LFN hỗ trợ tất cả các ký tự Unicode trừ NUL. Nhưng điều đó có lẽ đề cập đến đặc điểm kỹ thuật hiện tại (tôi không thể tìm thấy nó), vì vậy, tuyên bố này sẽ đúng nếu không có triển khai thực tế hỗ trợ tất cả các ký tự đó.
Dennis

@Synetech sau một số lỗi trên tệp FAT 32, bây giờ tôi có một tệp có dấu gạch chéo trong tên của nó (nhưng thật đáng buồn là hoàn toàn không liên quan đến nơi tôi muốn có nó ở vị trí đầu tiên). Và vâng, tôi không thể làm bất cứ điều gì làm trắng nó. Điều đó bao gồm tôi không thể xóa nó. Làm thế nào bạn chỉnh sửa các thư mục whit một trình soạn thảo hex?
Den
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.