[R] Renommer dossier sous la commande dos : "Ren"

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

[R] Renommer dossier sous la commande dos : "Ren"

#1

Message par Boulanza »

Je cherche à coder sous AutoIt (RunWait) la commande dos "Ren" qui permet de renommer un dossier.
Sous dos :
C:\Program Files>Ren MonDossie NewDossier ==> ça marche.
J’ai trouvé un exemple de code sous AutoIt mais ça ne marche pas. Pouvez-vous m’aider. Merci d’avance.

Code : Tout sélectionner

$avant = "MonDossie"
$apres = "NewDossier"

 $dossier = @ProgramFilesDir  ; dossier contenant "aaa.txt" (chemin complet)

_Rename($avant, $apres, $dossier)

Func _Rename($oldname, $newname, $folder)
   RunWait(@ComSpec & ' /C Ren "' & $avant & '" "' & $apres & '"', "", @SW_HIDE)
EndFunc
Modifié en dernier par Boulanza le dim. 10 sept. 2017 00:51, modifié 1 fois.
Avatar du membre
mimione
Niveau 4
Niveau 4
Messages : 91
Enregistré le : mer. 30 avr. 2008 18:11
Localisation : Bretagne
Status : Hors ligne

Re: [..] Renommer dossier sous la commande dos : "Ren"

#2

Message par mimione »

Bonjour

Pourquoi ne pas utiliser la fonction AutoIt "DirMove()" ??
(Because AutoIt lacks a "DirRename" function, use DirMove() to rename a folder!)

ça ne répond pas strictement à la question, mais ça fait le job!
Je ne suis pas toujours de mon avis....
--------------------------------------------
Des malheurs évités le bonheur se compose.
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] Renommer dossier sous la commande dos : "Ren"

#3

Message par walkson »

Bonjour
mimione a tout à fait raison mais pour le "fun"
$avant = "MonDossier"
$apres = "NewDossier"

 $dossier = @DesktopDir & "\"

_Rename($avant, $apres, $dossier)

Func _Rename($oldname, $newname, $folder)
   RunWait(@ComSpec & ' /C Ren "' & $folder & $oldname & '" "' & $newname & '"', "", @SW_HIDE)
EndFunc
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

Re: [..] Renommer dossier sous la commande dos : "Ren"

#4

Message par Boulanza »

Bonjour mimione,
Je dois renommer les titres des dossiers de documentaires en avi de tailles plus de 40 Go. Avec DirMove ( "source dir", "dest dir" [, flag = 0] ) : dest dir = saturation disque ...
La commande Ren dos n'a pas besoin de copier le contenu du dossier pour le renommer.
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] Renommer dossier sous la commande dos : "Ren"

#5

Message par walkson »

Je me suis amusé à tester les 2 méthodes sur un dossier de 121 go
_Rename()>> 45.1907515378014
DirMove()>> 149.143081697957

Votre fonction est plus rapide mais en 149 milliseconds, visiblement Dirmove() ne recopie pas les données mais change simplement le nom
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Renommer dossier sous la commande dos : "Ren"

#6

Message par mikell »

Marche aussi
RunWait(@ComSpec & ' /C Ren "' & $oldname & '" "' & $newname & '"', $folder, @SW_HIDE)

Pour l'anecdote, REN est case sensitive (essaie de renommer "dossier" en "Dossier")
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

Re: [..] Renommer dossier sous la commande dos : "Ren"

#7

Message par Boulanza »

Bonsoir,
Merci à vous tous pour votre collaboration.
Cordialement.
Répondre