Imansible rinominare una cartella o un file come 'con'

in tutte le versioni di Windows non siamo in grado di rinominare un file o un nome di cartella come con se non si utilizza un software di ridenominazione. Perché un file o una cartella non può essere rinominato come con ?

"con" è il nome di un dispositivo I / O di sistema, la console.

  • contro
  • sbagliare
  • nul

E un paio di altre, credo.

Nei vecchi giorni era comune a DOS creare un file (e lo faccio ancora occasionalmente) con:

 C:\>copy con foo.txt I'm typing some text here. ^Z 1 file(s) copied. C:\> 

CON è un nome riservato in Windows. Così sono PRN , AUX , NUL , LPT1 e altri.

ho dato questa risposta a un duplicato, e ho pensato di pubblicarlo qui per il tuo riferimento:

come indicato in precedenza. è una parola riservata da return in MS-DOS, per il dispositivo CONsole (per quanto mi ricordo). ma, è ansible forzare windows / dos per creare la cartella per te . per i dispositivi, utilizza il formato \\.\[RESERVED_WORD] per accedere al "file" (questi dispositivi utilizzano i file per la comunicazione). per forzare le windows per creare la propria cartella, invece di fare mkdir [RESERVED_WORD] , eseguire le seguenti operazioni:

 mkdir \\.\[absolute path to folder of choice, including drive letter]\[RESERVED_WORD] 

ad esempio, per creare la cartella CON sul mio desktop,

 mkdir \\.\C:\Users\me\Desktop\CON 

per eliminare la cartella, è necessario fare riferimento allo stesso modo, altrimenti non functionrà.

 rmdir \\.\C:\Users\me\Desktop\CON 

il mio consiglio però è quello di utilizzare un nome diverso. sarebbe molto difficile riferirsi sempre al suo path assoluto, specialmente se si sta sviluppando un'app di cui si intende implementare.

Questo perché è utilizzato per rappresentare i "dispositivi interni". Tuttavia, è ansible creare questa cartella utilizzando il seguente command in un prompt dei comandi:

 C:\>md \\.\e:\con 

Non è ansible eliminare questa cartella con il button destro del mouse, eliminare. È necessario utilizzare il seguente command (di nuovo in un prompt dei comandi):

 C:\>rd \\.\e:\con 

Fonte: http://yhisham.blogspot.in/2012/09/mystery-about-con-folder-in-windows.html

È ansible rinominarlo senza utilizzare alcun software speciale, solo il prompt dei comandi:

Per esempio:

 C:\>echo Test > \\?\C:\con C:\>type \\?\C:\con Test C:\>rename \\?\C:\con test.txt C:\>type test.txt Test 

Dopo \\?\ path completo deve essere specificato.

Oltre alla risposta di Pablo Santa Cruz, qui viene fornito l'elenco completo delle parole chiave protette in MS-DOS:

 CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9 

queste parole chiave vengono utilizzate da Windows internamente e sono riservate alle parole chiave. CON è utilizzato per CONSOLE, PRN per PRINTER, LPT per PARALLEL PORTS …

https://social.technet.microsoft.com/Forums/windows/en-US/e22c021d-d188-4ff2-a4dd-b5d58d979c58/the-specified-device-name-is-invalid

È ansible utilizzare _con invece

Proprio come ci sono caratteri che non possono essere utilizzati in un nome di file , ci sono anche diverse parole (interi nomi di file) che non possono essere utilizzati perché sono riservati.

copy con è un metodo archaico (MS-DOS) per la creazione di un file di text. Per esempio:

 copy con output.txt 

Quindi è una parola riservata e non può essere utilizzato come nome di cartella in Windows.

Come indicato, è ansible creare e modificare file e cartelle con nomi riservati sulla row di command utilizzando un nome di nomi di file o di un nome di file come \\.\C:\NUL , ma guarda cosa succede quando si tenta di accedere a un file cartella tramite Esplora risorse:

Errore durante l'apertura della cartella denominata NULErrore durante la cancellazione della cartella denominata NUL

Qualsiasi accesso a un object con un nome di dispositivo riservato viene considerato come riferimento al dispositivo specificato da tale nome, a less che non si utilizzi la soluzione alternativa dei nomi sopra indicati. Questi errori si verificano perché Windows tenta di operare su di loro come se fossero cartelle normali, ma non è ansible aprire un dispositivo denominato NUL , CON o altrimenti come cartella, quindi l'errore di errore Incorrect function (che è simile Inappropriate ioctl for device errore di Inappropriate ioctl for device su Linux).