Page 1 sur 1

Filemove renommer la fin d'un fichier

Posté : ven. 21 févr. 2020 12:39
par deldel04
Bonjour, je voudrais renommer mes fichiers exemple : baba.zip.cgf, coco.zip.cgf, tata.zip.cgf, tyty.zip.cgf en baba.txt, coco.txt, tata.txt, tyty.txt
Donc simplement remplacer zip.cfg de mes fichiers par txt
J'ai tenté de faire cela avec filemove comme ceci FileMove( @ScriptDir & "\*zip.cfg", @ScriptDir & "\*txt").
Cependant cela ne fonctionne pas correctement pourquoi ?

Re: Filemove renommer la fin d'un fichier

Posté : ven. 21 févr. 2020 16:46
par walkson
Bonjour,
Faudrait savoir si c'est .cgf ou .cfg :lol:
FileMove( @ScriptDir & "\*.zip.cgf", @ScriptDir & "\*.txt", 8 + 1)

Re: Filemove renommer la fin d'un fichier

Posté : ven. 21 févr. 2020 18:01
par deldel04
Merci pour la réponse. Oui, j'ai copié collé mon erreur, c'est bien du cfg.
Malheureusement votre solution ne fonctionne pas. J’obtiens le même problème (test1.zip.cfg -> test1.zip.txt)
Le ".zip" et toujours là. Une autre idée, s'il vous plait ?

Re: Filemove renommer la fin d'un fichier  

Posté : ven. 21 févr. 2020 18:57
par walkson
C'est normal car le zip fait partie du nom. Il faut donc changer le nom du fichier ainsi que l’extension.
Local $hSearch = FileFindFirstFile(@ScriptDir & "\*.cfg")
If $hSearch = -1 Then Exit MsgBox(16,"","pas trouvé")
While 1
   $sFileName = FileFindNextFile($hSearch)
   If @error Then ExitLoop ;on sort si plus de fichier
   $NewFileName = StringReplace($sFileName,".zip.cfg","");on supprime .zip.cfg
   $nb = @extended;nb de remplacement
   MsgBox(0,$nb,$sFileName & @CRLF & $NewFileName) ;pour voir, peut être supprimé
   If $nb > 0 Then FileMove(@ScriptDir & "\" &  $sFileName, @ScriptDir & "\" & $NewFileName & ".txt", 8 + 1);si .zip.cfg est supprimé on change l'extension
WEnd
FileClose($hSearch)

Re: Filemove renommer la fin d'un fichier

Posté : ven. 21 févr. 2020 22:12
par deldel04
Merci beaucoup, cela fonctionne très bien. :bisou: