Come posso rinominare un file il cui nome è di per sé un percorso completo (ad es. Inizia con "g: \")? [duplicare]


30

Questa domanda ha già una risposta qui:

Inavvertitamente, ho creato un file chiamato g:\filename.csvsu Windows XP tramite uno script Python.

Si noti che g:\filename.csvè il nome file. In realtà viene salvato sull'unità F :.

Non posso rinominarlo usando il prompt dei comandi ( ren oldfilename newfilename) o usando F2in una finestra di Explorer. Dice "impossibile leggere dall'unità" - Windows pensa che il file sia nell'unità G :.

C'è un modo per rinominarlo?


fa *filename.csvil lavoro?
BlueRaja - Danny Pflughoeft

8
Inoltre, sebbene tu abbia già la tua soluzione, potresti pubblicare il codice che ha creato il file? Non pensavo che le API dei file di Windows ti consentissero nemmeno di specificare un nome file non valido.
BlueRaja - Danny Pflughoeft

5
Dovresti presentare un bug su Linux / Ubuntu. Il driver del file system dovrebbe sapere che si tratta di un nome file non valido per l'unità di destinazione e, di conseguenza, non dovrebbe consentire di creare tale file. Dovrebbe comunque consentire di indirizzare tali file se già esistenti, al fine di rimuoverli o rinominarli.
Devolus


2
In realtà non c'è nulla di invalido per questo nome di file per quanto riguarda NTFS, è semplicemente una limitazione di Windows che ne impedisce il corretto riferimento.
phogg

Risposte:


21

Questa non potrebbe essere la soluzione più veloce, ma dovrebbe funzionare.
Se avvii una distro Live Linux puoi eliminarla, poiché Linux utilizza un metodo diverso per identificare le partizioni e non sarà costretto a pensare che il tuo file sia un disco. Ti consiglio Parted Magic , che ha molti strumenti utili per la manutenzione del disco e del sistema e, oltre alle tue attuali preoccupazioni, è sempre utile averlo a portata di mano.


1
Sto eseguendo il dual boot con Ubuntu. Quindi questo può essere provato facilmente. Fammi provare e dare un feedback qui. Grazie.
Vineet,

7
Fatto. Da Ubuntu, ho eliminato. il file. Grazie.
Vineet,

1
Avevo la risposta più votata che diceva usa \\? \ Prima del nome. Ho sbagliato e quel metodo non funzionerà, quindi ho eliminato la mia risposta. È necessario utilizzare il metodo di questa risposta o una delle altre risposte.
Scott Chamberlain,

7

Se il tuo sistema operativo Windows, puoi utilizzare il seguente trucco:

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.

Nota, se sei riuscito a creare un file con nome cono altri nomi riservati di dispositivi Windows, sei sfortunato con l'approccio.


6

Potresti anche provare ...

Da un Windows Command Prompt:

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

o

ren "F:*.csv" "filename.csv"

4

Puoi sempre provare Cygwin . Il filtro del nome percorso in esso dovrebbe essere più conforme a questo tipo di errore, poiché ciò non viola gli standard POSIX. Installa bash e fileutils e poi provarm /cygdrive/f/g:\\filename.csv

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.