Yangzebul Posté(e) le 22 mai 2009 Partager Posté(e) le 22 mai 2009 Bonjour, vous n'auriez pas par hasard un petit script (même crade) qui permet d'ouvrir plusieurs fichiers provenant de plusieurs répertoires en même temps ? Je m'explique, j'ai une arborescence à X branches ou chaque branche est nommée de manière identique et contient les mêmes (à peu de choses près) fichiers. Je dois à chaque fois que j'édite un fichier éditer les fichiers équivalents dans toutes les branches de l'arborescence. J'ai environ 2000~3000 fichiers à traiter manuellement, et je risque de devoir faire plusieurs passes. Pour pouvoir rester sain d'esprit je cherche donc un moyen d'intégrer dans le clic droit une commande qui m'ouvrirait mes X fichiers (nommés de manière identique mais dans des répertoires différents dont je connais le nom) simultanément. C-à-d en pseudo-code : command(path:String):void{ open(path); //branche1 String path2 = path.replace("branche1", "branche2"); open(path2); String path3 = path.replace("branche1", "branche3"); open(path3); // etc... } Comme ça je ne passerai pas mon temps à naviguer entre mes répertoires et je réduirai les risques d'erreurs/oublis. Le problème c'est que je connais absolument que dalle en vbs et autres outils de scripting windows. Donc si vous avez un truc du genre que je pourrait adapter, cela me serait super utile ! Merci. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Yangzebul Posté(e) le 23 mai 2009 Auteur Partager Posté(e) le 23 mai 2009 Bon j'ai trouvé la bonne syntaxe pour mon script (je hais le vbs, c'est vraiment immonde) : Set WshShell = WScript.CreateObject("WScript.Shell") Set args = Wscript.Arguments Dim editor editor = """%programfiles%\Notepad++\notepad++.exe""" Dim path1 Dim path2 path1 = args(0) path2 = Replace(args(0), "doss1", "doss2") WshShell.Run ( (editor & " " & path1) ) WshShell.Run ( (editor & " " & path2) ) Il fonctionne très bien si je le mets dans mon "sendTo" ou le lance depuis un invité de commande : #~ wscript.exe C:\mult.vbs C:\sandbox\doss1ier\azerty.txt Par contre je n'arrive pas à l'intégrer au menu contextuel ! :/ Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\*\shell\ouvrirMult] [HKEY_CLASSES_ROOT\*\shell\ouvrirMult\command] @="\"wscript.exe C:\\mult.vbs %1\"" J'obtiens toujours "accès refusé" j'ai essayé 15 000 syntaxes différentes sans succès... "wscript.exe C:\mult.vbs %1" "wscript.exe C:\mult.vbs "%1"" "wscript.exe C:\mult.vbs \"%1\"" "wscript.exe C:\mult.vbs" "%1" """wscript.exe C:\mult.vbs""" "%1" """wscript.exe C:\mult.vbs"""&"%1" etc... ++++++++++++++++++++++++++++++++++++++++++++ C'est bon j'ai trouvé, c'était pourtant pas si compliqué (je me suis embrouillé avec les apostrophes dans la bases de registre et celles du fichier de registre que je dois échapper) : wscript.exe C:\mult.vbs "%1" ç-à-d @="wscript.exe C:\\mult.vbs \"%1\"" Un grand merci à moi même. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.