質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

Q&A

解決済

1回答

6048閲覧

C# Processクラス エラー”指定したファイルが見つかりません。"

GrayWingAliance

総合スコア218

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

0グッド

0クリップ

投稿2018/06/25 10:26

Processクラスからbash.exeを呼び出したい。

上記が目的で以下のようなコードを実行しました。

C#

1using System; 2using System.Diagnostics; 3using System.IO; 4 5namespace bgw.console 6{ 7 internal class Program 8 { 9 public static void Main(string[] args) 10 { 11 const string bashPath = "‪C:\Windows\System32\bash.exe"; 12 var path = Directory.GetCurrentDirectory(); 13 Console.WriteLine(path); 14 15 var process = new Process 16 { 17 StartInfo = 18 { 19 FileName = bashPath, 20 UseShellExecute = false, 21 RedirectStandardOutput = true, 22 RedirectStandardInput = false, 23 CreateNoWindow = true, 24 Arguments = "-c \"ls /mnt/c \"" 25 } 26 }; 27 28 Console.WriteLine(process.StartInfo.FileName); 29 30 process.Start(); 31 32 var results = process.StandardOutput.ReadToEnd(); 33 34 process.WaitForExit(); 35 process.Close(); 36 37 Console.WriteLine(results); 38 } 39 } 40}

ですが、指定したファイルが見つかりません。と出ました。
権限の問題かと思い、app.manifestを使用して管理者権限を付与しても変わりませんでした。

パスを確認してもどう考えても間違っていないので、fsの関係かな?と思っているのですが、何かご存知の方がいらっしゃいましたらご教示いただけると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

症状を見る限りでは以下ですが。プロジェクトを右クリック→プロパティ→ビルドタブを選択、設定で32ビットを優先にチェックが入ってませんか?
File not found for existing file in system32 directory


以下のコードではどうでしょうか?

C#

1string bashPath = System.IO.Path.Combine(Environment.SystemDirectory, "bash.exe");

投稿2018/06/25 11:06

編集2018/06/25 11:37
umyu

総合スコア5846

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

GrayWingAliance

2018/06/25 11:11

64Bitビルドも試してみましたが、ダメでしたね…困りました…
umyu

2018/06/25 11:14 編集

>GrayWingAlianceさんへ 別のフォルダにおいてあるアプリケーションは起動できますかー? 個人的にはリダイレクトではと思うのですが。
GrayWingAliance

2018/06/25 11:36

できませんでした。 コマンドプロンプトをGetEnvironmentVariableでパス取得したときのみ。成功しましたね… コンソールにパスを表示したところ、頭に??がついていました。
umyu

2018/06/25 11:38

>GrayWingAlianceさんへ Environment.SystemDirectoryを使うサンプルコードを追加してみました。
GrayWingAliance

2018/06/25 11:43

おーできました!! ちなみに、何が悪かったんですかね? 参考になるURLなどありましたら、教えていただけるとありがたいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問