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.