Conflit entre guillemets/cmd/vb.net

Drarig29 -  
Patrice33740 Messages postés 8561 Date d'inscription   Statut Membre Dernière intervention   -
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 8561 Date d'inscription   Statut Membre Dernière intervention   1 780
 
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