Sanificatore di Nome File

Incolla un elenco di nomi di file e ricevi una versione pulita che sopravvivrà a qualsiasi sistema operativo, qualsiasi archivio ZIP, qualsiasi percorso CDN. Il sanificatore converte le lettere accentate in ASCII puro, rimuove i caratteri che causano problemi su Windows (\ / : * ? " < > |), elimina i caratteri di controllo, riduce gli spazi bianchi e sostituisce le sequenze vietate con la tua sostituzione scelta (predefinita: trattino). Utile prima di caricare in massa su S3, spedire un archivio ZIP di corsi o correggere un’importazione di foto da un vecchio NAS.

Come sanificare i nomi dei file

  1. 1

    Incolla i nomi dei file

    Uno per riga, con o senza estensioni. Le estensioni sono preservate così come sono.

  2. 2

    Scegli la sostituzione

    Scegli il carattere da utilizzare per sostituire le sequenze non sicure. Il trattino (`-`) è il predefinito più sicuro; l'underscore (`_`) è la scelta retro.

  3. 3

    Esegui il sanificatore

    Ogni nome viene accorciato, convertito in ASCII, privato dei caratteri vietati e gli spazi vengono ridotti. Se non resta nulla, diventa `file`.

  4. 4

    Controlla prima di rinominare

    L'output elenca solo i nomi puliti, quindi controllalo per individuare eventuali collisioni (due input che diventano lo stesso output) prima di rinominare in loco.

Cosa è non sicuro e perché

I diversi filesystem e strumenti hanno blacklist diverse. L’intersezione sicura cross-platform è più ristretta di quanto la maggior parte delle persone realizzi.

Caratteri e modelli che rendono non sicuri i nomi dei file

Elemento Perché è non sicuro
\ / : * ? " < > | Vietato su Windows (NTFS, FAT).
Caratteri di controllo ASCII 0x00-0x1F Illegali su molti filesystem; rompono gli script shell.
Spazi iniziali/finali Silenziosamente rimossi da Windows; bug invisibili.
Punti finali Silenziosamente rimossi da Windows.
Nomi riservati CON, PRN, AUX, NUL, COM1..9, LPT1..9, tutti bloccati su Windows.
Marchi di combinazione Unicode Fanno sì che café appaia uguale a café ma sia un nome file diverso su alcuni sistemi.
Emoji e glifi pictografici Sopravvivono ai sistemi moderni ma rompono le pipeline CI più vecchie e i percorsi CDN.

Passaggi di normalizzazione applicati

  1. Conversione in ASCII. Le lettere accentate diventano la loro base semplice: café diventa cafe, naïve diventa naive. Le scritture senza equivalente ASCII (CJK, emoji) vengono eliminate.
  2. Sostituzione dei caratteri vietati. \ / : * ? " < > | e i caratteri di controllo diventano il tuo carattere di sostituzione (predefinito: trattino).
  3. Riduzione degli spazi bianchi. Sequenze di spazi e tabulazioni diventano un singolo carattere di sostituzione.
  4. Taglio dei bordi. I punti e i caratteri di sostituzione iniziali e finali vengono rimossi; un risultato vuoto diventa file.
  5. Estensioni preservate. I punti all’interno del nome non vengono sostituiti, quindi .pdf, .jpg, .tar.gz sopravvivono; vengono rimossi solo i punti finali.

Suggerimenti

  • Mantieni l’estensione. I punti all’interno di un nome vengono conservati, quindi .pdf, .jpg, .tar.gz restano invariati.
  • Controlla le collisioni. Résumé.pdf e Resume.pdf diventano entrambi resume.pdf, perché gli accenti vengono sempre convertiti. Controlla l’output prima di rinominare in loco.
  • Percorsi web. Per gli URL, codifica anche in percentuale dopo la sanificazione, o meglio, mantieni lo slug dell’URL come un sottoinsieme di [a-z0-9-] così la codifica non è mai necessaria.

Domande frequenti

Per risorse web e ZIP cross-platform, sì, evita bug sottili quando un file viene caricato su un server Windows insensibile al caso e collegato da un CDN Linux sensibile al caso. Il sanificatore non cambia mai la maiuscola/minuscola, quindi trasforma tu stesso i nomi in minuscolo se ti serve. Per il lavoro locale è una questione di gusto.

Gli spazi sono legali su ogni sistema operativo moderno ma forzano la codifica URL (%20), rompono molte pipeline shell e confondono strumenti più vecchi. Sostituirli con un trattino elimina un’intera categoria di bug.

Il sanificatore produce sempre ASCII puro. Le lettere accentate vengono convertite (café diventa cafe), il cirillico viene traslitterato in un’approssimazione latina e i caratteri senza equivalente ASCII (CJK, tailandese, emoji) vengono eliminati. Se un sistema di destinazione richiede i nomi non latini originali, conservali in un file separato.

No, la lista viene sanificata in memoria durante la richiesta e non viene memorizzata o scritta in alcun log successivamente.

Strumenti correlati

Strumento disponibile in altre lingue