Aide et conseils concernant AutoIt et ses outils.
jcaspar
Niveau 7
Messages : 449 Enregistré le : mar. 23 sept. 2008 17:58
Status :
Hors ligne
#1
Message
par jcaspar » sam. 30 juil. 2011 15:00
B
onjour à tous !
Je souhaiterais modifier les noms de fichiers word sur un dossier complet
pouvez vous svp m'expliquer comment faire ?
exemple modifier nomfichier.doc en nouveaunom.doc
Merci d'avance pour vos conseils et suggestions
Code : Tout sélectionner
#NoTrayIcon
#Include <File.au3>
#include <Array.au3>
global $message="Selectionner le dossier "
global $dest
$scriptdir = FileOpenDialog($message, @WindowsDir & "\", "(*.*)",1+4)
$liste=_FileListToArray($scriptdir)
_ArrayDisplay($liste,"$FileList")
TT22
Membre émérite
Messages : 1566 Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status :
Hors ligne
#2
Message
par TT22 » sam. 30 juil. 2011 15:22
Tien, voila ta solution :
► Afficher le texte
Code : Tout sélectionner
#include <File.au3>
$search = FileFindFirstFile(@ScriptDir&"\*.*")
$nouveaunom = "" ; MET LE NOUVEAU NOM ICI
$num = 0
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
$filetest = FileOpen($file,0)
If $filetest <> -1 Then
FileDelete(@ScriptDir&"\TMP")
FileWrite(@ScriptDir&"\TMP",$file)
$test = _ReplaceStringInFile(@ScriptDir&"\TMP",".doc","")
If $test <> 0 Then
$num = $num + 1
FileMove(@ScriptDir&"\"&$file,@ScriptDir&"\"&$nouveaunom&" "&$num&".doc")
EndIf
FileDelete(@ScriptDir&"\TMP")
EndIf
WEnd
FileClose($search)
Tu as juste à modifier la variable
$nouveaunom qui indique le nouveau nom des fichiers.
Cordialement,
TT22
PandiPanda
Membre émérite
Messages : 656 Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status :
Hors ligne
#3
Message
par PandiPanda » sam. 30 juil. 2011 15:27
je comprend pas ceci;
Je souhaiterais modifier les noms de fichiers word sur un dossier complet
pouvez vous svp m'expliquer comment faire ?
exemple modifier nomfichier.doc en nouveaunom.doc
Si votre dossier contient plusieur fichier .doc , comment voulez vous donnez le même nom pour tous les fichier?
sauf si vous accepter de faire ceci;
nouveaunom.doc ; nouveaunom_1.doc; nouveaunom_2.doc; etc ...
?
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
TT22
Membre émérite
Messages : 1566 Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status :
Hors ligne
#4
Message
par TT22 » sam. 30 juil. 2011 15:34
Dans mon script, j'ai fait :
nouveau nom 1.doc
nouveau nom 2.doc
nouveau nom 3.doc
etc...
Cordialement,
TT22
mikell
Spammer !
Messages : 6292 Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status :
Hors ligne
#5
Message
par mikell » sam. 30 juil. 2011 16:51
un peu d'optimisation (pas testé mais devrait marcher)
► Afficher le texte
Code : Tout sélectionner
$search = FileFindFirstFile("*.doc")
$n = 0
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
$n += 1
FileMove ($file, "nouveau_nom" & $n & ".doc")
WEnd
FileClose($search)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
TT22
Membre émérite
Messages : 1566 Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status :
Hors ligne
#6
Message
par TT22 » sam. 30 juil. 2011 18:02
Oui, la méthode de mikell fonctionne.
Cordialement,
TT22
Iste
Niveau 11
Messages : 1870 Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status :
Hors ligne
#7
Message
par Iste » sam. 30 juil. 2011 18:29
On peut aussi sélectionner tout les fichier et faire renommer...
Si il ne s'agit pas d'une fonctionnalité d'un script plus gros, évitons de réinventer la roue.
Signez ici