3 votes

Comment exécuter la commande Windows "mklink" depuis une application vb.net ?

Je veux être capable d'exécuter "mklink path1 path2" à partir de mon projet vb.net. Je n'y parviens pas. J'ai essayé avec la fonction Shell() et avec Process.

Avec cela, il ouvre seulement la fenêtre cmd.exe et ne fait rien :

        Dim process As New Process
        process.StartInfo.FileName = "cmd.exe"
        process.StartInfo.Arguments = "mklink """ + arma2oaAddons + """ """ + arma2Addons + """ /j"
        process.StartInfo.WorkingDirectory = "C:\"
        process.Start()

Et avec cela j'obtiens l'erreur "File not found". Il ne peut pas trouver mklink.. :

        Shell("mklink """ + arma2oaAddons + """ """ + arma2Addons + """ /j")

Qu'est-ce que mklink ?

Mklink est un utilitaire de ligne de commande MS Windows que vous pouvez utiliser pour créer des liens symboliques ou symlinks et des liens durs dans MS Windows. Il fait partie du shell CMD, comme la commande dir.

Comment faire correctement ?

7voto

user1937198 Points 2141

Le premier exemple est parfait, sauf que vous devez utiliser cmd.exe /c si vous voulez qu'il soit exécuté ainsi

Dim process As New Process
process.StartInfo.FileName = "cmd.exe"
process.StartInfo.Arguments = "/c mklink """ + arma2oaAddons + """ """ + arma2Addons + """ /j"
process.StartInfo.WorkingDirectory = "C:\"
process.Start()

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X