Come creare il nome della cartella o il nome del file con caratteri speciali come \ /: *? "<> | [duplicato]


9

Il mio problema è che non riesco a dare il nome della mia cartella o file con caratteri speciali come \ /: *? "<> | nel sistema operativo basato su Windows Questo è molto importante per me, che dà il nome del file / cartella che contiene questo tipo di caratteri.

Cerco già e rimando così tanti siti, per questi problemi, ma tutti sono senza speranza. Ho anche letto la pagina di supporto di Microsoft, suggeriscono di usare altri personaggi. Questo è il suo link, https://support.microsoft.com/en-us/kb/177506

Ho già provato il tasto Alt + numero di codice ASCII di questo tipo di caratteri speciali, dal tasto del tastierino numerico, solo esempio rinominare file / cartella e premere Alt + 60 (per <caratteri) Sempre dando il messaggio che, un nome file non può contenere nessuno dei seguenti personaggi: \ / : * ? "<> |

Suggeriscimi una soluzione adatta in modo che io possa dare il nome del mio file / cartella con questo tipo di caratteri speciali.


Solo curioso: a cosa ti serve?
— Kamil Maciorowski il

@ Kamil Questo è per dare il nome del mio file / cartella, e un compito impegnativo per me.
— Kirit_Vanani,

@ PIMP_JUICE_IT L'ho già fatto, (literalString -literalPath ma non riesco ancora ad avere successo.
— Kirit_Vanani

anche se fosse possibile creare file con questi caratteri, nessun programma sarebbe in grado di aprirli o salvarli.
— Keltari,

10
- Come posso leccarmi il gomito? - Non puoi. - Ma io devo. - Puoi rompere il braccio e provare, ma il tuo braccio sarà inutile allora. - Non mi interessa, devo solo leccarmi il gomito.
— Kamil Maciorowski il

Risposte:


16

Questo è molto importante per me, denominazione di file / cartella che contengono questi caratteri.

Potrebbe essere importante per te, ma dovrai lasciarlo andare e trovare un modo diverso di risolvere il tuo problema.

Questi caratteri non sono consentiti dalle chiamate di funzione del sistema operativo Windows che gestiscono i nomi dei file.

Non sono specificatamente consentiti perché hanno un altro uso:

  • \- Riservato per l'uso come separatore di percorso e carattere di escape
  • / - Riservato per l'uso come separatore di percorso
  • : - Riservato per l'uso come delimitatore del nome dell'unità
  • *e ?- Riservato per l'uso come caratteri jolly
  • "- Riservato all'uso per citare nomi contenenti spazi
  • <, >e |- Riservato all'uso come operatori di reindirizzamento dei comandi

È possibile, ovviamente, creare file con nomi contenenti questi caratteri utilizzando un sistema operativo diverso (purché tale sistema operativo sia in grado di leggere / scrivere un file system Windows).

Tuttavia, non sarai in grado di fare nulla con quei file usando alcun programma Windows e loro non capiranno i nomi dei file e genereranno errori.


Denominazione di file, percorsi e spazi dei nomi

Convenzioni di denominazione

Le seguenti regole fondamentali consentono alle applicazioni di creare ed elaborare nomi validi per file e directory, indipendentemente dal file system:

...

Utilizzare qualsiasi carattere nella tabella codici corrente per un nome, inclusi i caratteri Unicode e i caratteri nel set di caratteri esteso (128–255), ad eccezione di quanto segue:

  • I seguenti caratteri riservati:

    < (less than)
    > (greater than)
    : (colon)
    " (double quote)
    / (forward slash)
    \ (backslash)
    | (vertical bar or pipe)
    ? (question mark)
    * (asterisk)
    
  • Valore intero zero, a volte indicato come carattere ASCUL NUL.
  • Caratteri le cui rappresentazioni di numeri interi sono comprese tra 1 e 31, ad eccezione dei flussi di dati alternativi in ​​cui questi caratteri sono consentiti. Per ulteriori informazioni sui flussi di file, vedere Stream di file.
  • Qualsiasi altro carattere non consentito dal file system di destinazione.

File di denominazione di origine , percorsi e spazi dei nomi


Ma voglio davvero farlo comunque.

Installa cygwin e utilizzalo touch.

Non ho testato tutte le possibilità ma il seguente lavoro:

touch :
touch \|
touch \"
touch \>

Esempio di output:

DavidPostill@Hal /f/test/impossible
$ ll
total 0
-rw-rw-rw-+ 1 DavidPostill None 0 Aug 10 21:03 '"'
-rw-rw-rw-+ 1 DavidPostill None 0 Aug 10 21:02 :
-rw-rw-rw-+ 1 DavidPostill None 0 Aug 10 21:02 '|'
-rw-rw-rw-+ 1 DavidPostill None 0 Aug 10 21:07 '>'

Come puoi vedere non sono utilizzabili in Windows:

F:\test\impossible>dir
 Volume in drive F is Expansion
 Volume Serial Number is 3656-BB63

 Directory of F:\test\impossible

10/08/2016  21:07    <DIR>          .
10/08/2016  21:07    <DIR>          ..
10/08/2016  21:03                 0 
10/08/2016  21:02                 0 
10/08/2016  21:07                 0 
10/08/2016  21:02                 0 
               4 File(s)              0 bytes
               2 Dir(s)  1,772,601,536,512 bytes free

inserisci qui la descrizione dell'immagine


Apprezzo la tua risposta, è un po 'utile, ma il mio problema rimane lo stesso .. Penso a qualsiasi altro modo superutente di rinominare con questo personaggio speciale.
— Kirit_Vanani,

2
@Kirit Puoi creare file con quei personaggi ma Windows non può farci nulla e otterrai errori quando proverai ad usare quei file da Windows.
— DavidPostill

@ DavidPostill Ohh, come creare il nome del file con quei personaggi. Non mi importa se dà errore, ma ora compito è dare questo tipo di nome del personaggio. Per accedere a questo file userò altri sistemi
— operativi

1
@Kirit Te l'ho già detto nella risposta "Puoi, ovviamente, creare file con nomi contenenti questi caratteri usando un sistema operativo diverso (purché quel sistema operativo possa leggere / scrivere un file system di Windows)."
— DavidPostill

3
@Kirit Ti ho già detto che non è possibile .
— DavidPostill

3

Crea il tuo set di caratteri. Sostituisci alcuni dei caratteri che non usi con le immagini dei caratteri riservati.


1
Quello o usando personaggi simili. Con Unicode, tutto è possibile. 🎃
— Daniel B,

@ Craig620 Forse non sarà possibile, per me. mi può dare qualche suggerimento per questo.
— Kirit_Vanani l'

Non sono sicuro, solo un'idea folle che mi è venuta in mente. Forse c'è un forum su Stack Exchange per la tipografia o la pubblicazione che potresti chiedere?
— Clayton,

2

In Windows, non è possibile creare file con questi caratteri. Non esiste soluzione, questi caratteri sono vietati dall'API Win32.

Win32 è un sottoinsieme dello spazio dei nomi POSIX ed è sensibile al maiuscolo / minuscolo. Utilizza tutti i caratteri Unicode, tranne: '"' '*' '/' ':' '<' '>' '?' '\' '|' NB I nomi non possono terminare con Dot '.' O Spazio ''.

- http://dubeyko.com/development/FileSystems/NTFS/ntfsdoc.pdf


NTFS non è il problema. (In effetti, consente a questi personaggi di funzionare bene, è necessario , per il supporto di Interix.) Il problema è Windows stesso, ovvero le restrizioni sono imposte dalle API Win32 indipendentemente da quale sia la FS sottostante.
— user1686

@grawity, sembra che tu abbia ragione sulla base delle mie ulteriori indagini. Ho modificato la mia risposta per riflettere questo.
— ChrisInEdmonton,

Penso che NTFS non sia un problema. Deve avere una soluzione. Quando accedo all'unità NTFS da un sistema operativo basato su Linux, posso digitare questo tipo di caratteri.
— Kirit_Vanani,

"I nomi non possono terminare con Dot". Non corretto. È possibile archiviare i nomi che terminano con .. Non puoi fare molto con loro da cmd:)
— DavidPostill

1
@Kirit Ti è stato detto molte volte che non è possibile .
— DavidPostill
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.