ディレクトリをexe直下と戻すには?

解決


弥生  2008-11-11 00:51:45  No: 145397

調べながら動作確認と修正を行っております。
実行ファイル直下のファイルを使用しているのですが、データ出力を
デスクトップなどに行うとディレクトリがデスクトップに変更されて
いるようで?続けて別の処理が行えません。
Application.StartupPathを追加することで処理は行えているようですが
クイックウォッチで確認するとMyApplicationのメンバではありません。
と表示されており、できれば違う対応としたいのです。

ファイル出力後など、ディレクトリを実行ファイル直下に戻す方法などありますか?
ご存じの方、よろしくお願いいたします。


我龍院  2008-11-11 03:14:46  No: 145398

Environment.CurrentDirectory = Application.StartupPath
これじゃあ駄目?


弥生  2008-11-11 04:03:57  No: 145399

我龍院さん
Environment.CurrentDirectory = Application.StartupPathを追加することで
思っていた動作となりました。
助かりました。ありがとうございます。


aetos  2008-11-11 20:23:08  No: 145400

データ出力の前段階で SaveFileDialog を使っているなら、RestoreDirectory プロパティでカレントディレクトリを元に戻すことができます。

それはそれとして、カレントディレクトリはアプリ起動直後でも exe の置いてあるフォルダと同じとは限りませんので、ファイルアクセスは絶対パスで行うのが基本です。
例えば、単に "Hoge.txt" と書いてアクセスするのではなく、Path.Combine( Application.StartupPath, "Hoge.txt" ) としてパスを組み立ててやるべきでしょう。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加