Comment remplacer tous les espaces par des underscores dans tous les noms de fichiers d'un dossier?
J'essaie de renommer tous les fichiers d'un dossier (à tous .les fichiers exe). Je veux remplacer tous les espaces par des caractères de soulignement, par exemple qwe qwe qwe asd.exe
à qwe_qwe_qwe_asd.exe
.
J'ai besoin de faire cela, utilisez la ligne de commande. J'ai essayé beaucoup de solutions possibles que j'ai trouvé sur internet et même sur ce site, mais je ne peux pas le faire fonctionner.
J'ai aussi besoin de faire "une seule ligne" /"une commande", mais je vais accepter toutes les réponses.
Vous devez vous connecter pour publier un commentaire.
Un liner
Frayer un cmd exemple, avec des extensions et de l'expansion retardée activé, et pour chaque fichier exe avec des espaces dans le nom, remplacez les espaces par des caractères de soulignement et de renommer le fichier avec le nouveau nom
Adapté à partir d'ici:
https://stackoverflow.com/a/16129486/2000557
Créer un fichier batch (
*.bat
) avec le contenu ci-dessus. La Place que le fichier de commandes dans le dossier avec tous les .exe et il permettra de remplacer les espaces par des underscores lorsque vous l'exécutez.for %i in (*.css) do ( ren "%~i" "_%~i.scss" )
=> renommer tous les fichiers .css pour "_ORIGINALFILENAME.scss"Simple que:
set filename=qwe qwe qwe asd.exe
,set filename2=%filename: =_%
,ren "filename" "filename2"
À l'aide de forfiles:
Ajouter
/s
aprèsforfiles
répéter à travers les sous-dossiers.Phile: =_!
. Tout ce qui vient avant la=
est ce qui va être remplacé. La chose qui va après la=
est ce qu'il sera remplacé par.Basé sur @Gray réponse, j'ai l'étendre à remplacer les noms de fichiers récursivement dans tous les sous-répertoires.
Fichier 1: remplacer.chauve-souris
Fichier 2: récursive.chauve-souris
Fichiers
replace.bat
contient un script pour remplacerspace
avecunderscore
recursive.bat
contient un script pour faire de la récursivité dans tous les sous-répertoiresComment l'utiliser?
replace.bat
etrecursive.bat
dans le même répertoire..ext
désiré avec l'extension de fichier de match (comme.mp4
) dansreplace.bat
.recursive.bat
fichier.replace.bat
etrecursive.bat
dans le répertoire parent, il va travailler sur tous les enfants des répertoires.set data=%date:~6,4%%date:~3,2%%date:~0,2%_%time:~0,2%%time:~3,2%%time:~6,2%
set data=%données: =0%
Enregistrer les 2 commandes dans un
.bat
fichier. Il remplacera" "
avec"_"
dans tous les fichiers et dossiers de manière récursive, en commençant par le dossier où le fichier est stocké.Remarque: la Première ligne est en train de faire ce pour les fichiers, et la deuxième une seule est en train de faire pour les dossiers. Chaque ligne peut être utilisé séparément.
Mineur tweak pour Hamza Rashid réponse. En particulier ses récursive.chauve-souris de script.
récursive.chauve-souris
remplacer.chauve-souris reste le même et les consignes restent les mêmes.