ฉันจะเปลี่ยนชื่อไฟล์ที่ชื่ออยู่ในตัวเองเป็นเส้นทางแบบเต็ม (เช่นเริ่มต้นด้วย“ g: \”) ได้อย่างไร [ซ้ำ]


30

ฉันสร้างไฟล์ที่ชื่อg:\filename.csvใน Windows XP ผ่านสคริปต์ Python โดยไม่ได้ตั้งใจ

โปรดทราบว่าg:\filename.csvเป็นชื่อไฟล์ จริงๆแล้วมันถูกบันทึกไว้ในไดรฟ์ F:

ฉันไม่สามารถเปลี่ยนชื่อโดยใช้ command prompt ( ren oldfilename newfilename) หรือใช้F2ในหน้าต่าง Explorer มีข้อความแจ้งว่า "ไม่สามารถอ่านจากไดรฟ์" - Windows คิดว่าไฟล์อยู่ในไดรฟ์ G:

มีวิธีการเปลี่ยนชื่อหรือไม่?


ไม่*filename.csvทำงานหรือไม่
BlueRaja - Danny Pflughoeft

8
นอกจากนี้แม้ว่าคุณจะมีวิธีแก้ไขปัญหาแล้วคุณสามารถโพสต์รหัสที่สร้างไฟล์ได้หรือไม่ ฉันไม่คิดว่า API ไฟล์ของ Windows อนุญาตให้คุณระบุชื่อไฟล์ที่ไม่ถูกต้องได้
BlueRaja - Danny Pflughoeft

5
คุณควรยื่นบั๊กที่ Linux / Ubuntu ไดรเวอร์ระบบไฟล์ควรรู้ว่านี่เป็นชื่อไฟล์ที่ไม่ถูกต้องสำหรับไดรฟ์เป้าหมายและไม่ควรอนุญาตให้สร้างไฟล์ดังกล่าว มันควรจะอนุญาตให้ยังที่อยู่ไฟล์ดังกล่าวหากพวกเขามีอยู่แล้วเพื่อที่จะลบหรือเปลี่ยนชื่อแม้ว่า
Devolus


2
ไม่มีอะไรที่ไม่ถูกต้องเกี่ยวกับชื่อไฟล์นี้เท่าที่ NTFS เกี่ยวข้อง แต่เป็นข้อ จำกัด ของ Windows ที่ป้องกันไม่ให้มีการอ้างอิงอย่างถูกต้อง
phogg

คำตอบ:


21

นี่ไม่ใช่วิธีที่เร็วที่สุด แต่ควรใช้งานได้
หากคุณบูต distro Live Linux คุณสามารถลบได้เนื่องจาก Linux ใช้วิธีการอื่นเพื่อระบุพาร์ติชันและจะไม่ถูกบังคับให้คิดว่าไฟล์ของคุณเป็นไดรฟ์ ฉันขอแนะนำให้คุณใช้Magic Partedซึ่งมีเครื่องมือที่มีประโยชน์มากมายสำหรับการบำรุงรักษาดิสก์และระบบและนอกเหนือจากข้อกังวลในปัจจุบันของคุณมักจะมีประโยชน์เสมอ


1
ฉันกำลังบูทคู่กับ Ubuntu ดังนั้นสิ่งนี้สามารถลองได้อย่างง่ายดาย ให้ฉันลองและให้ข้อเสนอแนะที่นี่ ขอบคุณ
Vineet

7
เสร็จสิ้น จาก Ubuntu ฉันลบ ไฟล์ ขอบคุณ
Vineet

1
ฉันเคยมีคำตอบอันดับสูงสุดที่กล่าวว่าใช้ \\? \ หน้าชื่อ ฉันผิดและวิธีการนั้นใช้ไม่ได้ดังนั้นฉันจึงลบคำตอบ คุณต้องใช้วิธีการของคำตอบนี้หรือหนึ่งในคำตอบอื่น ๆ
Scott Chamberlain

7

หากระบบปฏิบัติการ Windows ของคุณคุณสามารถใช้เคล็ดลับต่อไปนี้:

1. Issue command `dir /X`
2. Find out your file in 8 dot 3 notation
3. Use 8 dot 3 notation for file operations as ren, del, copy, print and others.

หมายเหตุถ้าคุณจัดการเพื่อสร้างไฟล์ที่มีชื่อconหรือชื่ออุปกรณ์ลิขสิทธิ์อื่น ๆ ของ Windows คุณจะโชคดีกับวิธีการ



4

คุณก็สามารถลองCygwin ตัวกรองชื่อพา ธ ในนั้นควรสอดคล้องกับข้อผิดพลาดประเภทนี้มากขึ้นเนื่องจากสิ่งนี้ไม่ได้ละเมิดมาตรฐาน POSIX ติดตั้ง bash และ fileutils แล้วลองrm /cygdrive/f/g:\\filename.csv

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.