ID非公開
ID非公開さん
2021/1/20 20:14
3回答
c♯でWPFを使ったアプリケーション開発を行なっていて、
c♯でWPFを使ったアプリケーション開発を行なっていて、 コマンドライン引数に変数Aを指定して外部アプリを起動したいのですが //aとbとcにはそれぞれファイルパスが入ります。 string A = a + b + c: Process.Start(aaa.exe,A): 上記で実行するとフォルダ名やファイル名に半角スペースが含まれると起動しません。無ければ起動します。 半角スペースがあっても起動できるようにすることは可能でしょうか?
ベストアンサー
半角スペースはデリミタと解釈するのにフォルダ名やファイル名で使える。 ほんと、Windowsの致命的欠陥だよねぇ。 さて、普通はディレクトリ名やファイル名などの連結はPathクラスのCombineメソッドを使います。 string A = System.IO.Path.Combine(a,b,c); ですが、そのどこかに半角スペースが存在する場合は全体をダブルクオートでくくる必要があります。エスケープが必要で円マークを使います。 string A = $"\"{a}{b}{c}\""; これで大丈夫・・・かな?
1人がナイス!しています
この返信は削除されました
質問者からのお礼コメント
回答ありがとうございます! 半角スペースがあるファイル&フォルダでも起動することができました。 $でこのように記述するのですね大変勉強になりました。
お礼日時:1/20 23:36