VBS:Récuper le chemin du script
Fermé
Gamarah
Messages postés
26
Date d'inscription
samedi 17 janvier 2009
Statut
Membre
Dernière intervention
15 juin 2009
-
15 juin 2009 à 18:03
Gloops1 Messages postés 322 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 27 septembre 2023 - 2 janv. 2016 à 12:19
Gloops1 Messages postés 322 Date d'inscription vendredi 20 février 2009 Statut Membre Dernière intervention 27 septembre 2023 - 2 janv. 2016 à 12:19
A voir également:
- Vbs path
- Vbs windows - Accueil - Optimisation
- Wmic path softwarelicensingservice get oa3xoriginalproductkey - Forum Windows Vista
- Bash path - Astuces et Solutions
- Id chinois one piece fighting path - Forum Matériel & Système
- Host path - Guide
3 réponses
Je ne vois pas vraiment en quoi ce que tu proposes est plus court ou plus explicite que :
Si tu veux absolument faire toi-même le découpage du string, tu n'as qu'à faire :
Plus le code est simple à comprendre, mieux c'est.
'path = "\\le\repertoire\du\script" path = fso.GetParentFolderName(wscript.ScriptFullName)
Si tu veux absolument faire toi-même le découpage du string, tu n'as qu'à faire :
'path = "\\le\repertoire\du\script\" path = Replace(WScript.ScriptFullName, WScript.ScriptName, "")
Plus le code est simple à comprendre, mieux c'est.
Voici un premier exemple :
L'ennui de ce code, c'est qu'il donne le répertoire d'où l'on exécute le script, donc si tu le lances avec cmd ou un autre programme, il faudrait d'abord se placer dans le répertoire du script. Donc utilise plutôt ce code :
Là, ça donne le même résultat quel que soit le dossier depuis lequel tu l'exécutes.
Sinon, en hta, j'utiliserais ceci (si quelqu'un a une meilleure solution, ça m'intéresse) :
Si quelqu'un a mieux, qu'il poste ici, je n'ai débuté le vbs que très récemment et mes connaissances de ce langage se résument à ce que Google m'apporte.
'Une fausse solution Dim fso, f, path Set fso = CreateObject("Scripting.FileSystemObject") path = fso.getabsolutepathname(".") Set f = fso.OpenTextFile(path & "\Identifiant.txt", ForWriting,true)
L'ennui de ce code, c'est qu'il donne le répertoire d'où l'on exécute le script, donc si tu le lances avec cmd ou un autre programme, il faudrait d'abord se placer dans le répertoire du script. Donc utilise plutôt ce code :
Dim fso, f, path Set fso = CreateObject("Scripting.FileSystemObject") path = fso.GetParentFolderName(wscript.ScriptFullName) Set f = fso.OpenTextFile(path & "\Identifiant.txt", ForWriting,true)
Là, ça donne le même résultat quel que soit le dossier depuis lequel tu l'exécutes.
Sinon, en hta, j'utiliserais ceci (si quelqu'un a une meilleure solution, ça m'intéresse) :
Set fso = CreateObject("Scripting.FileSystemObject") path = Replace(Replace(document.location.pathname, "MonFichier.hta", ""), "%20", " ") Set f = fso.OpenTextFile(path & "Identifiant.txt", ForWriting,true)
Si quelqu'un a mieux, qu'il poste ici, je n'ai débuté le vbs que très récemment et mes connaissances de ce langage se résument à ce que Google m'apporte.
Gloops1
Messages postés
322
Date d'inscription
vendredi 20 février 2009
Statut
Membre
Dernière intervention
27 septembre 2023
11
2 janv. 2016 à 12:19
2 janv. 2016 à 12:19
path = Replace(Replace(document.location.pathname, "MonFichier.hta", ""), "%20", " ")
J'ai fait pareil, tout-à-l'heure.
Et puis après j'ai renommé le script en mettant un accent aigu dans le nom : le script m'a dit que la paresse ne paie pas toujours.
path = window.location.href;
path=decodeURIComponent(path.replace("file:///", ""));
Là je peux gaîment mettre des accents, des tirets, des doubles points, des tildés ...
Ah mais tiens j'ai bien fait de venir ici :
path = decodeURIComponent(window.location.pathname) ;
J'ai fait pareil, tout-à-l'heure.
Et puis après j'ai renommé le script en mettant un accent aigu dans le nom : le script m'a dit que la paresse ne paie pas toujours.
path = window.location.href;
path=decodeURIComponent(path.replace("file:///", ""));
Là je peux gaîment mettre des accents, des tirets, des doubles points, des tildés ...
Ah mais tiens j'ai bien fait de venir ici :
path = decodeURIComponent(window.location.pathname) ;