2009-01-22 4 views
0

Les chemins sont relatifs au répertoire courant. J'ai essayé des tonnes de combinaisons de guillemets, de désincrustation, de modification dans un répertoire parent et de suppression du .., mais j'ai toujours une erreur FileNotFound lorsque j'essaie de lancer un processus..NET: lancement d'un processus avec chemin et arguments

bridge_process = System.Diagnostics.Process.Start(
    @"../Tools/RunHidden", 
    @"../My-Bridge.bat"); 

Répondre

1

Au lieu de passer un répertoire relatif, pourquoi ne pas passer un chemin complet? Vous pouvez utiliser les méthodes statiques de la classe Path dans l'espace de noms System.IO pour vous aider à créer le chemin.

1

Dans mon expérience, "répertoire courant" peut dans certains cas être c: \ windows \ system32.

Essayez ceci:

string fullapppath = Assembly.GetExecutingAssembly().Location; 
    string apppath = System.IO.Path.GetDirectoryName(fullapppath); 

    string path1 = System.IO.Path.Combine(apppath, @"../Tools/RunHidden"); 
    string path2 = System.IO.Path.Combine(apppath, @"../My-Bridge.bat"); 

    bridge_process = System.Diagnostics.Process.Start(path1, path2); 
Questions connexes