Bagaimana saya bisa mengganti nama file yang namanya sendiri merupakan path lengkap (misalnya dimulai dengan "g: \")? [duplikat]

30

Pertanyaan ini sudah ada jawabannya di sini:

Secara tidak sengaja, saya telah membuat file bernama g:\filename.csvWindows XP melalui skrip Python.

Perhatikan bahwa itu g:\filename.csvadalah nama file. Sebenarnya itu disimpan di drive F :.

Saya tidak dapat mengganti nama menggunakan command prompt ( ren oldfilename newfilename) atau menggunakan F2di jendela Explorer. Dikatakan "tidak dapat membaca dari drive" - ​​Windows berpikir file tersebut ada di drive G :.

Apakah ada cara untuk mengganti nama?

Vineet
sumber
apakah *filename.csvbekerja?
BlueRaja - Danny Pflughoeft
8
Juga, meskipun Anda sudah memiliki solusi, bisakah Anda memposting kode yang membuat file? Saya tidak berpikir Windows File API bahkan memungkinkan Anda untuk menentukan nama file yang tidak valid ..
BlueRaja - Danny Pflughoeft
5
Anda harus mengajukan bug ke Linux / Ubuntu. Driver sistem file harus tahu bahwa ini adalah nama file yang tidak valid untuk drive yang ditargetkan dan karenanya tidak boleh membuat file seperti itu. Seharusnya masih memungkinkan untuk alamat file seperti itu jika sudah ada, untuk menghapus atau mengganti nama file tersebut.
Devolus
2
Sebenarnya tidak ada yang tidak valid tentang nama file ini sejauh menyangkut NTFS, itu hanya keterbatasan Windows yang mencegahnya dari dirujuk dengan benar.
phogg

Jawaban:

21

Ini tidak bisa menjadi solusi tercepat, tetapi harus berhasil.
Jika Anda mem-boot distro Linux Live Anda dapat menghapusnya, karena Linux menggunakan metode berbeda untuk mengidentifikasi partisi dan tidak akan dipaksa untuk berpikir bahwa file Anda adalah drive. Saya sarankan Anda Parted Magic , yang memiliki banyak alat praktis untuk perawatan disk dan sistem dan, di samping kekhawatiran Anda saat ini, selalu berguna untuk memilikinya.

Sekhemty
sumber
1
Saya dual-boot dengan Ubuntu. Jadi ini bisa dicoba dengan mudah. Biarkan saya mencoba dan memberikan umpan balik di sini. Terima kasih.
Vineet
7
Selesai Dari Ubuntu, saya menghapus. berkas. Terima kasih.
Vineet
1
Saya dulu memiliki jawaban berperingkat teratas yang mengatakan gunakan \\? \ Sebelum nama. Saya salah dan metode itu tidak akan berfungsi, jadi saya menghapus jawaban saya. Anda perlu menggunakan metode jawaban ini atau salah satu dari jawaban lainnya.
Scott Chamberlain
7

Jika OS Windows Anda maka Anda dapat menggunakan trik berikut:

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.

Catatan, jika Anda berhasil membuat file dengan nama conatau nama lain yang disediakan perangkat Windows maka Anda kurang beruntung dengan pendekatan tersebut.

Don Cesar D'Bazar
sumber
6

Anda juga dapat mencoba ...

Dari Windows Command Prompt:

ren "F:???filename.csv" "filename.csv"

atau

ren "F:*.csv" "filename.csv"
Kevin Fegan
sumber
4

Anda selalu dapat mencoba Cygwin . Filter nama jalur di dalamnya harus lebih sesuai dengan jenis kesalahan ini, karena ini tidak melanggar standar POSIX. Instal bash dan fileutils lalu cobarm /cygdrive/f/g:\\filename.csv

Homolka yang kaya
sumber