• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C#でのProcess.Startと変数path)

C#でのProcess.Startと変数path

このQ&Aのポイント
  • C#のProcess.Startを使用して変数pathを実行しようとすると、ファイルが見つからないというエラーが発生します。
  • 指定されたパスに実行ファイルが存在するにもかかわらず、Process.Startが実行できない問題が発生します。
  • a.exeをパスなしで実行する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.1

>System.Diagnostics.Process.Start("a"); 拡張子指定したらどうです? http://msdn.microsoft.com/ja-jp/library/53ezey2s%28v=vs.100%29.aspx って、拡張子ナシでもOKとはなっていますねぇ…。 >同様に、[ファイル名を指定して実行] ダイアログ ボックスで実行可能ファイル名は拡張子 .exe が付いているかどうかに関係なく受け入れられるのと同じように、fileName パラメーターでも拡張子 .exe は省略できます。 と……。 ということで、「ファイル名を指定して実行」でaだけで起動できます? >システムでパス変数を引用符で囲んで宣言している場合は、その場所で見つかったプロセスを開始するときに、そのパスの絶対パスを指定する必要があります。 これを実行しないと、システムはパスを見つけることができません。 って書かれているのが微妙…ですかねぇ。 "Program Files"ってことで、""でくくっているでしょうし。 # path設定の方をショートファイルネームにしたらどうなりますかね?

noname#208530
質問者

お礼

自己解決しました。 こうすればちゃんとできました。 ご協力有難うございました。 p.FileName = "adb"; p.Arguments = "wait-for-device"; p.UseShellExecute = false; Process ps = Process.Start(p); ps.WaitForExit();

noname#208530
質問者

補足

回答有難うございます! [ファイル名を指定して実行]では a で実行できるのですが... 実を言うとAndroid SDKのadb.exeを実行したいのですが...

その他の回答 (1)

  • Wr5
  • ベストアンサー率53% (2173/4061)
回答No.2

>実を言うとAndroid SDKのadb.exeを実行したいのですが... こちらでは起動出来ましたが…。 ただし、adb.exeは空白込みのパスにはありませんでしたけど。 # Windows7 Professional 64Bit&VC#2010EE&.NET Framework 4.0 ClientProfile >"Program Files"ってことで、""でくくっているでしょうし。 ># path設定の方をショートファイルネームにしたらどうなりますかね? System.Diagnostics.Process.Start("TortoiseMerge"); での起動も可能でしたのでPATH環境変数に設定してあるものに半角空白が~というのも、とりあえずは問題ない……みたいですね。 # TortoiseSVNのインストール先はデフォルトでPATHへの追加あり。 もしかして、コマンドライン引数とか指定している…んでしょうか? その場合だと… http://msdn.microsoft.com/ja-jp/library/53ezey2s%28v=vs.100%29.aspx ではなく、 http://msdn.microsoft.com/ja-jp/library/h6ak8zt5%28v=vs.100%29.aspx で起動させる必要がある…かと。 TeraTermのttermpro.exeとttlファイルを指定して試しましたが… System.Diagnostics.Process.Start("TTPMACRO マクロファイルのフルパス")では失敗しました。 System.Diagnostics.Process.Start("TTPMACRO", "マクロファイルのフルパス")では起動できました。

関連するQ&A