Accéder aux sous-répertoires pour renommer des fichiers
3 réponses
Dan
Bonjour,
J'utilise un script de JC Bellamy (que j'ai quelque peu modifié pour mes
besoins) et qui me permet de modifier le nommage des fichiers : remplacement
des caractères accentués... ainsi que de vérifier la longueur des noms de
fichiers.
Actuellement je ne peux réaliser cette manipulation que répertoire par
répertoire (et j'en ai des centaines).
Il faudrait que je puisse accéder à l'ensemble des sous-répertoires (très
nombreux) pour réaliser mes modifications de façons plus simples.
Je joins le script utilisé.
Merci d'avance pour vos idées et propositions.
Cordialement
Dan
If newname<>lowname Then
n=n+1
newfic=curdir & newname
If fso.FileExists(newfic) Then
fso.DeleteFile newfic, true
End If
curfic.Name=tempname
curfic.Name=newname
wscript.echo i & " : " & oldname & " renommé en " & newname '& cstr(v_long)
End If
Next
'** Compte les caractères
v_folder = fso.GetFolder(curdir)
Set fso = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder(v_folder)
Set fc = f.Files
For Each fichier in fc
v_long=len(fichier.name)
if v_long > 50 then
wscript.echo
"________________________________________________________________________________"
wscript.echo fichier.name + " " + " *****=> " + cstr(v_long) & " caractères"
end if
Next
'** Fin de comptage des caractères
if n > 1 then
MsgBox n & " fichiers renommés",,"Renommage sans accents dans " & Curdir
else
MsgBox n & " fichier renommé",,"Renommage sans accents dans " & Curdir
end if
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-Claude BELLAMY
Dans le message news: , Dan s'est ainsi exprimé:
Bonjour, J'utilise un script de JC Bellamy (que j'ai quelque peu modifié pour mes besoins) et qui me permet de modifier le nommage des fichiers : remplacement des caractères accentués... ainsi que de vérifier la longueur des noms de fichiers. Actuellement je ne peux réaliser cette manipulation que répertoire par répertoire (et j'en ai des centaines). Il faudrait que je puisse accéder à l'ensemble des sous-répertoires (très nombreux) pour réaliser mes modifications de façons plus simples.
Voici un sous-programme d'exploration récursive de dossier
'-------------------------------------------------------------------- Sub explore(dossier) set d=fso.GetFolder(dossier) set colld=d.SubFolders For each dir in colld explore dir.Path Next ' insérer ici le code à exécuter pour chaque sous-répertoire... ' ...... ' ...... End Sub '--------------------------------------------------------------------
-- May the Force be with You! La Connaissance s'accroît quand on la partage ---------------------------------------------------------- Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org *
Dans le message news:5C366381-6125-47F9-856A-64C80C2FB1D7@microsoft.com ,
Dan <Dan@discussions.microsoft.com> s'est ainsi exprimé:
Bonjour,
J'utilise un script de JC Bellamy (que j'ai quelque peu modifié pour
mes besoins) et qui me permet de modifier le nommage des fichiers :
remplacement des caractères accentués... ainsi que de vérifier la
longueur des noms de fichiers.
Actuellement je ne peux réaliser cette manipulation que répertoire par
répertoire (et j'en ai des centaines).
Il faudrait que je puisse accéder à l'ensemble des sous-répertoires
(très nombreux) pour réaliser mes modifications de façons plus
simples.
Voici un sous-programme d'exploration récursive de dossier
'--------------------------------------------------------------------
Sub explore(dossier)
set d=fso.GetFolder(dossier)
set colld=d.SubFolders
For each dir in colld
explore dir.Path
Next
' insérer ici le code à exécuter pour chaque sous-répertoire...
' ......
' ......
End Sub
'--------------------------------------------------------------------
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
Jean-Claude.Bellamy@wanadoo.fr * JC.Bellamy@free.fr
Bonjour, J'utilise un script de JC Bellamy (que j'ai quelque peu modifié pour mes besoins) et qui me permet de modifier le nommage des fichiers : remplacement des caractères accentués... ainsi que de vérifier la longueur des noms de fichiers. Actuellement je ne peux réaliser cette manipulation que répertoire par répertoire (et j'en ai des centaines). Il faudrait que je puisse accéder à l'ensemble des sous-répertoires (très nombreux) pour réaliser mes modifications de façons plus simples.
Voici un sous-programme d'exploration récursive de dossier
'-------------------------------------------------------------------- Sub explore(dossier) set d=fso.GetFolder(dossier) set colld=d.SubFolders For each dir in colld explore dir.Path Next ' insérer ici le code à exécuter pour chaque sous-répertoire... ' ...... ' ...... End Sub '--------------------------------------------------------------------
-- May the Force be with You! La Connaissance s'accroît quand on la partage ---------------------------------------------------------- Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org *
Dan
Bonjour Jean-Claude, Tout d'abord, merci beaucoup pour vos scripts (très utiles), votre site et vos conseils. Je débute en vbs et je n'ai pas réussi à positionner votre morceau de code au bon endroit pour faire tourner mon script. Si vous pouviez me conseiller plus précisément ? Cordialement Dan
Dans le message news: , Dan s'est ainsi exprimé:
Bonjour, J'utilise un script de JC Bellamy (que j'ai quelque peu modifié pour mes besoins) et qui me permet de modifier le nommage des fichiers : remplacement des caractères accentués... ainsi que de vérifier la longueur des noms de fichiers. Actuellement je ne peux réaliser cette manipulation que répertoire par répertoire (et j'en ai des centaines). Il faudrait que je puisse accéder à l'ensemble des sous-répertoires (très nombreux) pour réaliser mes modifications de façons plus simples.
Voici un sous-programme d'exploration récursive de dossier
'-------------------------------------------------------------------- Sub explore(dossier) set d=fso.GetFolder(dossier) set colld=d.SubFolders For each dir in colld explore dir.Path Next ' insérer ici le code à exécuter pour chaque sous-répertoire... ' ...... ' ...... End Sub '--------------------------------------------------------------------
-- May the Force be with You! La Connaissance s'accroît quand on la partage ---------------------------------------------------------- Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org *
Bonjour Jean-Claude,
Tout d'abord, merci beaucoup pour vos scripts (très utiles), votre site et
vos conseils.
Je débute en vbs et je n'ai pas réussi à positionner votre morceau de code
au bon endroit pour faire tourner mon script. Si vous pouviez me conseiller
plus précisément ?
Cordialement
Dan
Dans le message news:5C366381-6125-47F9-856A-64C80C2FB1D7@microsoft.com ,
Dan <Dan@discussions.microsoft.com> s'est ainsi exprimé:
Bonjour,
J'utilise un script de JC Bellamy (que j'ai quelque peu modifié pour
mes besoins) et qui me permet de modifier le nommage des fichiers :
remplacement des caractères accentués... ainsi que de vérifier la
longueur des noms de fichiers.
Actuellement je ne peux réaliser cette manipulation que répertoire par
répertoire (et j'en ai des centaines).
Il faudrait que je puisse accéder à l'ensemble des sous-répertoires
(très nombreux) pour réaliser mes modifications de façons plus
simples.
Voici un sous-programme d'exploration récursive de dossier
'--------------------------------------------------------------------
Sub explore(dossier)
set d=fso.GetFolder(dossier)
set colld=d.SubFolders
For each dir in colld
explore dir.Path
Next
' insérer ici le code à exécuter pour chaque sous-répertoire...
' ......
' ......
End Sub
'--------------------------------------------------------------------
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
Jean-Claude.Bellamy@wanadoo.fr * JC.Bellamy@free.fr
Bonjour Jean-Claude, Tout d'abord, merci beaucoup pour vos scripts (très utiles), votre site et vos conseils. Je débute en vbs et je n'ai pas réussi à positionner votre morceau de code au bon endroit pour faire tourner mon script. Si vous pouviez me conseiller plus précisément ? Cordialement Dan
Dans le message news: , Dan s'est ainsi exprimé:
Bonjour, J'utilise un script de JC Bellamy (que j'ai quelque peu modifié pour mes besoins) et qui me permet de modifier le nommage des fichiers : remplacement des caractères accentués... ainsi que de vérifier la longueur des noms de fichiers. Actuellement je ne peux réaliser cette manipulation que répertoire par répertoire (et j'en ai des centaines). Il faudrait que je puisse accéder à l'ensemble des sous-répertoires (très nombreux) pour réaliser mes modifications de façons plus simples.
Voici un sous-programme d'exploration récursive de dossier
'-------------------------------------------------------------------- Sub explore(dossier) set d=fso.GetFolder(dossier) set colld=d.SubFolders For each dir in colld explore dir.Path Next ' insérer ici le code à exécuter pour chaque sous-répertoire... ' ...... ' ...... End Sub '--------------------------------------------------------------------
-- May the Force be with You! La Connaissance s'accroît quand on la partage ---------------------------------------------------------- Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org *
Lord Mathius
simplent tu met comme indiquer dans ton code, tu cole ton code de modification des nom dans la section citer, puis tu defini dans ton main ( section principal quoi) explorer(".") tout simplement et ainsi il va analyser tout les sous rep du rep ou tu te trouve.
"Dan" wrote:
Bonjour Jean-Claude, Tout d'abord, merci beaucoup pour vos scripts (très utiles), votre site et vos conseils. Je débute en vbs et je n'ai pas réussi à positionner votre morceau de code au bon endroit pour faire tourner mon script. Si vous pouviez me conseiller plus précisément ? Cordialement Dan
Dans le message news: , Dan s'est ainsi exprimé:
Bonjour, J'utilise un script de JC Bellamy (que j'ai quelque peu modifié pour mes besoins) et qui me permet de modifier le nommage des fichiers : remplacement des caractères accentués... ainsi que de vérifier la longueur des noms de fichiers. Actuellement je ne peux réaliser cette manipulation que répertoire par répertoire (et j'en ai des centaines). Il faudrait que je puisse accéder à l'ensemble des sous-répertoires (très nombreux) pour réaliser mes modifications de façons plus simples.
Voici un sous-programme d'exploration récursive de dossier
'-------------------------------------------------------------------- Sub explore(dossier) set d=fso.GetFolder(dossier) set colld=d.SubFolders For each dir in colld explore dir.Path Next ' insérer ici le code à exécuter pour chaque sous-répertoire... ' ...... ' ...... End Sub '--------------------------------------------------------------------
-- May the Force be with You! La Connaissance s'accroît quand on la partage ---------------------------------------------------------- Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org *
simplent tu met comme indiquer dans ton code, tu cole ton code de
modification des nom dans la section citer, puis tu defini dans ton main (
section principal quoi) explorer(".")
tout simplement et ainsi il va analyser tout les sous rep du rep ou tu te
trouve.
"Dan" wrote:
Bonjour Jean-Claude,
Tout d'abord, merci beaucoup pour vos scripts (très utiles), votre site et
vos conseils.
Je débute en vbs et je n'ai pas réussi à positionner votre morceau de code
au bon endroit pour faire tourner mon script. Si vous pouviez me conseiller
plus précisément ?
Cordialement
Dan
Dans le message news:5C366381-6125-47F9-856A-64C80C2FB1D7@microsoft.com ,
Dan <Dan@discussions.microsoft.com> s'est ainsi exprimé:
Bonjour,
J'utilise un script de JC Bellamy (que j'ai quelque peu modifié pour
mes besoins) et qui me permet de modifier le nommage des fichiers :
remplacement des caractères accentués... ainsi que de vérifier la
longueur des noms de fichiers.
Actuellement je ne peux réaliser cette manipulation que répertoire par
répertoire (et j'en ai des centaines).
Il faudrait que je puisse accéder à l'ensemble des sous-répertoires
(très nombreux) pour réaliser mes modifications de façons plus
simples.
Voici un sous-programme d'exploration récursive de dossier
'--------------------------------------------------------------------
Sub explore(dossier)
set d=fso.GetFolder(dossier)
set colld=d.SubFolders
For each dir in colld
explore dir.Path
Next
' insérer ici le code à exécuter pour chaque sous-répertoire...
' ......
' ......
End Sub
'--------------------------------------------------------------------
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
Jean-Claude.Bellamy@wanadoo.fr * JC.Bellamy@free.fr
simplent tu met comme indiquer dans ton code, tu cole ton code de modification des nom dans la section citer, puis tu defini dans ton main ( section principal quoi) explorer(".") tout simplement et ainsi il va analyser tout les sous rep du rep ou tu te trouve.
"Dan" wrote:
Bonjour Jean-Claude, Tout d'abord, merci beaucoup pour vos scripts (très utiles), votre site et vos conseils. Je débute en vbs et je n'ai pas réussi à positionner votre morceau de code au bon endroit pour faire tourner mon script. Si vous pouviez me conseiller plus précisément ? Cordialement Dan
Dans le message news: , Dan s'est ainsi exprimé:
Bonjour, J'utilise un script de JC Bellamy (que j'ai quelque peu modifié pour mes besoins) et qui me permet de modifier le nommage des fichiers : remplacement des caractères accentués... ainsi que de vérifier la longueur des noms de fichiers. Actuellement je ne peux réaliser cette manipulation que répertoire par répertoire (et j'en ai des centaines). Il faudrait que je puisse accéder à l'ensemble des sous-répertoires (très nombreux) pour réaliser mes modifications de façons plus simples.
Voici un sous-programme d'exploration récursive de dossier
'-------------------------------------------------------------------- Sub explore(dossier) set d=fso.GetFolder(dossier) set colld=d.SubFolders For each dir in colld explore dir.Path Next ' insérer ici le code à exécuter pour chaque sous-répertoire... ' ...... ' ...... End Sub '--------------------------------------------------------------------
-- May the Force be with You! La Connaissance s'accroît quand on la partage ---------------------------------------------------------- Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org *