วิธีการเปลี่ยนชื่อไฟล์ / โฟลเดอร์ซ้ำ ๆ เพื่อทำให้ชื่อเป็นมิตรกับ Windows


11

ฉันมีไฟล์จำนวนมากในกล่อง Ubuntu ซึ่งมีตัวละครต่าง ๆ ในชื่อไฟล์ที่ Windows ไม่ยอมรับ (ส่วนใหญ่เป็น ":" และ "*" แต่อาจเป็นอย่างอื่น)

วิธีที่ง่ายที่สุดในการเปลี่ยนชื่อและย้ายไปยังเครื่อง Windows คืออะไร คุณสามารถแทนที่อักขระเหล่านี้ด้วย "[โคลอน]" และ "[เครื่องหมายดอกจัน]"


1
คุณควรหลีกเลี่ยงชื่อดังกล่าวแม้ใน Linux (โดยเฉพาะ*)
cYrus

4
@cYrus ขึ้นอยู่กับว่าคุณจัดการกับไฟล์อย่างไร ฉันคิดว่ามันเป็นปัญหาของสคริปต์และเชลล์เท่านั้น ฉันใช้ OS X และตัวละครต้องห้ามเท่านั้น:ซึ่งไม่ดีพอ การตั้งชื่อเอกสารหลังจากเนื้อหามีประโยชน์และหากชื่อบทความลงท้ายด้วยคำถามชื่อไฟล์ก็ควร
Daniel Beck

@cYrus และฉันทำในซอฟต์แวร์ของฉัน แต่ซอฟต์แวร์บางอย่างเขียนโดยคนที่ไม่ ตัวอย่างเช่น qmail ใช้: ในเกือบทุกชื่อไฟล์ที่สร้างขึ้น
RomanSt

@Daniel Beck: แน่นอน แต่น่าเสียดายที่มีระบบไฟล์ที่รองรับชื่อดังกล่าวมันไม่เพียงพอที่คุณสามารถใช้โปรแกรมที่ยุ่งเหยิงไปหมด ฉันไม่ได้ใช้ช่องว่าง
cYrus

2
@ คำถามที่ดีเจ็ด! ฉันคิดว่า Windows จะมีประโยชน์มากกว่านี้เล็กน้อยเนื่องจากอาจมีบางคนที่ได้รับไฟล์ใน Windows และต้องแก้ไขมันบนแพลตฟอร์มนั้น
Peltier

คำตอบ:


4

ลองดูที่Glindra เปลี่ยนชื่อและดีท็อกซ์

โปรแกรมอรรถประโยชน์ของไฟล์ Glindra สามารถติดตั้งได้ทั้งบน Windows หรือ Linux ตัวอย่างการล้างชื่อไฟล์บน Windows:

rena *.* -portable

rena *.* -safe
  • -
    นำแผนที่ขีดกลาง (เครื่องหมายขีดคั่น) เพื่อขีดล่าง
    ยุบช่องว่าง
    แผนที่อักขระที่มีปัญหาเช่น * ?: [] "<> | () {} เพื่อขีดล่าง
  • - แบบพกพา
    ทำการดำเนินการล้างข้อมูลเช่นเดียวกับ - ปลอดภัยและเพิ่มเติม:
    แมปอักขระ 8 บิตทั้งหมดจากครึ่งบนของตัวอักษรละติน 1 ไปยังอักขระทางเลือก 7 บิตที่เหมาะสม
    แม็พอักขระเครื่องหมายคำพูดเดี่ยว '' ´เพื่อขีดล่าง

ที่มา: การแก้ไขชื่อไฟล์ Unix / Linux / POSIX: อักขระควบคุม (เช่นขึ้นบรรทัดใหม่), ขีดกลางนำหน้าและปัญหาอื่น ๆ


ที่แสดงให้เห็นหน้า 404 ของ Google สำเนาแคช
Daniel Beck

นั่นเป็นคำพูดที่น่ากลัวอย่างหนึ่งโดยเดวิดวีลเลอร์! โดยเฉพาะอย่างยิ่งหลังจากที่ฉันเพิ่งทุบแป้นพิมพ์ของฉันหลังจากพยายามซีดีลงในไดเรกทอรีที่ JungleDisk ตั้งชื่อว่า "~ \ irina" ต้องการเดาว่าการเติมแท็บทำงานได้หรือไม่ ...
RomanSt

1
ดีท๊อกซ์ใช้สำหรับสร้างไฟล์ Windows เป็นมิตรกับระบบปฏิบัติการยูนิกซ์ไม่ใช่วิธีอื่น
endolith

3
@DennisWilliamson - ดูเหมือนว่า glindra (สำหรับ Windows) ไม่สามารถเปลี่ยนชื่อตัวละครด้วยชื่อไฟล์ที่ไม่ถูกต้อง G:\spc>rena.exe -safe -portable *.txtขาออก[FATAL-ERROR] Filename syntax error: aa:a.txt
Steven

1
จดบันทึกการเปลี่ยนแปลงทางไวยากรณ์เมื่อไปที่ Linux นั่นคือrena '*.*' -portableและถ้าคุณต้องการให้ recursive ใช้บางอย่างเช่นrena '***/*.*' -portableบน Linux และฉันเชื่อว่าควรเปลี่ยนชื่อบน Linux ไม่ใช่ใน Windows
holroy

4

ลองRecuva

มันเป็นยูทิลิตี้ Windows ตัวเดียวที่ฉันพบซึ่งจัดการชื่อไฟล์ที่เป็นมิตรกับ Windows

เปิดใช้งานการสแกนหาไฟล์ที่ไม่ถูกลบ (สำหรับการกู้คืนจากดิสก์ที่เสียหายหรือฟอร์แมตใหม่)และสแกนโฟลเดอร์ของคุณ เมื่อวันที่คืนค่าเปิดใช้งานการคืนค่าโฟลเดอร์โครงสร้าง Recuva จะ "คัดลอก" ทั้งไดเรกทอรีไปยังตำแหน่งอื่นอย่างมีประสิทธิภาพในขณะที่ "santitizing" ชื่อไฟล์ที่ไม่เป็นมิตร


1

โดยไม่ต้องใช้ Linux และไม่มีการทดสอบอะไรเลยฉันเชื่อว่าสามารถใช้หนึ่ง liners เหมือนที่อยู่ด้านล่าง

วิธีเปลี่ยนอักขระหนึ่งตัว:

find . -type f -exec rename 's/:/\[colon\]/g' {} +
find . -type f -exec rename 's/\*/\[asterisk\]/g' {} +

และสุดท้ายเพื่อลบอักขระที่ไม่ใช่ตัวอักษรและตัวเลขทั้งหมด:

find . -type f -exec rename 's/[^A-Za-z0-9._]//g' {} +

โปรดทราบว่าสิ่งนี้จะต้องมีการขยายออกไปพร้อมกับตัวอักขระที่ผิดกฎหมายอื่น ๆ ทั้งหมดของ windows เช่น<>:"/\|?*
holroy

0

หากไฟล์ของคุณอยู่ในโวลุ่ม NTFS ดูเหมือนว่าการเรียกใช้ chkdisk จาก Windows "แก้ไข" ปัญหา น่าเสียดายที่มันดูเหมือนว่าทำได้โดยการลบไฟล์ที่ละเมิด


0

ฉันจัดการด้วยการรวมกันของสองคำตอบแรกรวมทั้ง pyRenamer (GUI) ภายใต้ Linux ฉันใช้ pyRenamer เพื่อยุบช่องว่างในชื่อโฟลเดอร์ (ไดเรกทอรี) - โดยการแทนที่พื้นที่ว่างโดยไม่ใช้อะไรเลยเพื่อให้โปรแกรมอื่น (เปลี่ยนชื่อ Glindra) ทำงานซ้ำ (อาจทำให้เกิดขีดเส้นใต้) จากไฟล์ฉันยังใช้อักขระหรือคำที่ยอมรับได้บาง windows เพื่อประหยัดพื้นที่และช่องว่างที่ยุบตัวคล้ายกันในชื่อไฟล์ จากนั้นฉันก็วิ่งไปที่ rena เพื่อเอาอักขระที่ไม่ใช่ windows บันทึกไปยังแฟลชไดรฟ์แล้วใช้ Recuva เพื่อ 'กู้คืน' ไปยังโฟลเดอร์ภายใต้ Windows Recuva ระบุว่าพา ธ ของไฟล์ยาวเกินไป (และยังลบอักขระที่ไม่ใช่หน้าต่างด้วย) ฉันยังไม่พบเครื่องมือที่ตรวจสอบเส้นทางของชื่อไฟล์เพื่อดูว่าอยู่ภายใต้ขีด จำกัด สูงสุดของ Windows 255 หรือไม่หรือว่า 240 เพื่อให้ระยะทางไกลขึ้นบ้าง

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