Probleme de chemin avec espace dans script VBS

Fermé
Patrickdusud_0856 Messages postés 40 Date d'inscription samedi 2 mai 2020 Statut Membre Dernière intervention 24 mai 2022 - Modifié le 27 avril 2022 à 18:47
yg_be Messages postés 22784 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 14 mai 2024 - 27 avril 2022 à 23:37
Bonjour à tous encore une fois.

Suite à mon dernier post, j'ai trouvé la solution pour mettre une variable d'environnement dans un script VBS, tout fonctionne parfaitement, avec le nom d'utilisateur "Direction" par contre sur le même PC avec "SAS ANTIVIRUS MOD" en nom d'utilisateur, cela ne fonctionne pas.

J'ai donc essayé de lancer le programme en indiquant le chemin, mais le problème est le même, fichier spécifié introuvable.

En résumé :

CreateObject("Wscript.Shell"). Run "C:\Users\direction\Verif\StartVerif.bat"
Fonctionne parfaitement.
CreateObject("Wscript.Shell"). Run "C:\Verif\StartVerif.bat"
Fonctionne parfaitement
CreateObject("Wscript.Shell"). Run "C:\Users\SAS ANTIVIRUS MOD\Verif\StartVerif.bat"
Ne fonctionne pas

J'ai testé en ADMIN et en standard rien ne fonctionne. Peut-être à cause du nom composé ? Sur la session "SAS ANTIVIRUS MOD" ça fonctionne sur C:\ sur C:\Users\ mais pas sur C:\Users\SAS ANTIVIRUS MOD

EDIT : Le probléme est presque résolu.

En mettant simplement "" et "" d'une part et d'autre du chemin cela fonctionne pour les espaces.

Le code serait donc :
CreateObject("Wscript.Shell"). Run """C:\Users\SAS ANTIVIRUS MOD\Verif\StartVerif.bat"""


Cependant, avec la variable, j'ai beau mettre des guillemets de partout, cela ne fonctionne pas. Je ne dois pas les poser au bon endroit. Voici le code avec la variable :

Set oShell = CreateObject( "WScript.Shell" )
user=oShell.ExpandEnvironmentStrings("%Userprofile%")
WScript.Echo user & "\Verif\StartVerif.bat"
CreateObject("Wscript.Shell").Run user & "\Verif\StartVerif.bat"



Merci de votre aide.




Configuration: Windows / Chrome 100.0.4896.127
A voir également:

1 réponse

yg_be Messages postés 22784 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 14 mai 2024 1 481
27 avril 2022 à 23:37
bonjour,
peut-être:
Set oShell = CreateObject( "WScript.Shell" )
user=oShell.ExpandEnvironmentStrings("%Userprofile%")
lacommande =  """" & user & "\Verif\StartVerif.bat" &  """"
WScript.Echo lacommande
oShell.Run lacommande
0