papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Remplacer tous les espaces par _ dans les noms des fichiers Sam 18 Avr 2015 - 4:19 | |
| Salut tout le monde! Comme d'habitude : tout est dans le code. - Code:
-
rem ============================================================================ rem Renommer tous les fichiers d un dossier dont les noms comportent des espaces rem en les remplaçant par le caractère de soulignement _ (underscore) rem Par exemple : rem Le fichier : "Mon fichier test.bas" rem sera renommé : "Mon_fichier_test.bas" rem ============================================================================ ' Pour tester : ' créer un dossier de travail sur le bureau : "Mon Dossier" par exemple ' y copier quelques fichiers (pour servir de test) dont les noms comportent des espaces ' Par exemple : ' "Mon fichier avec espace.txt" ' "Mon second fichier 1 2 3 .bas" ' Appeler la sub : Renomme_Fichiers("C:\Users\acer\Desktop\Mon Dossier") ' Vos fichiers devront être renommés en : ' "Mon_fichier_avec_espace.txt" ' "Mon_second_fichier_1_2_3.bas rem ============================================================================ rem NB : Ce script renomme seulement les fichiers, pas les dossiers ! rem ============================================================================
Renomme_Fichiers("C:\Users\acer\Desktop\Nouveau dossier") : ' Adapter le chemin
end rem ============================================================================ ' Script pour remplacer les espaces dans les noms des fichiers par le caractère ' de soulignement _ (underscore) SUB Renomme_Fichiers(dossier$) dim_local src$,q$ if dir_exists("C:\temp") = 0 then dir_make "C:\temp" if dir_exists(dossier$) = 0 message "Le dossier : " + dossier$ + " n'existe pas !" + chr$(13) + "Veuillez vérifier son chemin" exit_sub end_if src$ = "C:\temp\rename.bat" : q$ = chr$(34) FILE_OPEN_WRITE 9999,src$ FILE_WRITELN 9999,"@echo off" FILE_WRITELN 9999,"setlocal enabledelayedexpansion" FILE_WRITELN 9999,"for /r " +q$ + dossier$ + q$ + " %%a in (*.*) do (" FILE_WRITELN 9999,"set "+q$+"path=%%~nxa"+q$ FILE_WRITELN 9999,"set "+q$+"path=!path: =_!"+q$ FILE_WRITELN 9999,"move /y "+q$+"%%~a"+q$+" "+q$+"%%~dpa!path!"+q$ FILE_WRITELN 9999,")" FILE_CLOSE 9999 EXECUTE_WAIT src$ FILE_DELETE src$ END_SUB rem ============================================================================
| |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Remplacer tous les espaces par _ dans les noms des fichiers Sam 18 Avr 2015 - 10:10 | |
| | |
|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 18 Avr 2015 - 12:53 | |
| Pratique, utile, il y a aussi la sub "remplace_caractere(texte$,char_indesirable$,char_subsitution$)" présente sur le site.
je crois que c' était l' oeuvre de JL35... | |
|
JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Remplacer tous les espaces par _ dans les noms des fichiers Sam 18 Avr 2015 - 15:03 | |
| Je ne crois pas... j'ai bien une sub qui remplace dans une chaîne une séquence par une autre... Une autre approche pour le sujet papydall, tout en panoramic (pas de script): - Code:
-
SUB RenFich(rep$) ' Dans rep$, remplacer les espaces par des '_' dans les noms de fichiers DIM_LOCAL sr$,lst$,f$,fr$,k%,ke%,q$ q$ = CHR$(34): sr$ = DIR_CURRENT$: DIR_CHANGE q$+rep$+q$ EXECUTE_WAIT "cmd.exe /c DIR /B /A:-D | clip": lst$ = CLIPBOARD_STRING_PASTE$ k% = INSTR(lst$,CHR$(13)+CHR$(10)) WHILE k% > 0 OR lst$ <> "" IF k% > 0 f$ = LEFT$(lst$,k%-1): lst$ = RIGHT_POS$(lst$,k%+2) ELSE f$ = lst$: lst$ = "": ' dernier de la liste END_IF ke% = INSTR(f$," ") IF ke% > 0 fr$ = f$ WHILE ke% > 0 fr$ = LEFT$(fr$,ke%-1)+"_"+RIGHT_POS$(fr$,ke%+1): ke% = INSTR(fr$," ") END_WHILE FILE_RENAME q$+f$+q$,fr$ END_IF k% = INSTR(lst$,CHR$(13)+CHR$(10)) END_WHILE DIR_CHANGE sr$ END_SUB | |
|
Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 18 Avr 2015 - 18:36 | |
| Ou peut être Jicehel... ...à moins que ce ne soit un autre Panoramicien. | |
|
Contenu sponsorisé
| Sujet: Re: Remplacer tous les espaces par _ dans les noms des fichiers | |
| |
|