Conflit entre guillemets/cmd/vb.net

Fermé
Drarig29 - Modifié par Drarig29 le 1/08/2014 à 00:25
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 1 août 2014 à 14:55
Bonjour, j'ai un assez gros problème, je vous montre le code et vous allez comprendre :

Dim p As New Process
        p.StartInfo.FileName = "cmd.exe"
        p.StartInfo.Arguments = "/c cd C:\Users\%USERNAME%\Desktop & start C:\Users\%USERNAME%\Desktop\PortableAppsInstaller.exe" & nom_original
        p.Start()


(nom_original = test.exe)

Ce que je voudrais faire c'est ça, mais après ça met tout en l'air :

"/c cd "C:\Users\FAMILLE GIRARD\Desktop" & start "C:\Users\FAMILLE GIRARD\Desktop\PortableAppsInstaller.exe"" & nom_original

Ce qui donnerais en MS-DOS (batch) :

cd "C:\Users\FAMILLE GIRARD\Desktop"
start "C:\Users\FAMILLE GIRARD\Desktop\PortableAppsInstaller.exe" test.exe

Donc je vous explique (si vous n'avez pas compris) ce que je veux faire. Je veux tout simplement lancer un programme (IconExtract.exe) avec comme argument un autre logiciel (test.exe) pour extraire l'icône de ce dernier logiciel... Bref, le code en soit marche, mais j'ai un problème.
Comme vous le savez sûrement, quand il y a un chemin qui contient un espace, en MS-DOS, on doit mettre le chemin entre guillemets, sauf qu'ici, si je rajoute des guillemets, ça va entrer en conflit avec les guillemets qui entourent l'argument entier (p.StartInfo.Arguments)...
A voir également:

1 réponse

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
1 août 2014 à 14:55
En vb, pour écrire un guillemet anglais (") à l'intérieur d'une chaine de caractères (string) il suffit d'écrire 2 guillemets cote à cote, par exemple :
 "Le guillemet anglais ("") est un caractère particulier"
. On peut aussi écrire :
"Le guillemet anglais (" & Chr(34) & ") est un caractère particulier"
.
0