web-dev-qa-db-ja.com

C#でappdataフォルダーを作成する方法

さて、これをどのようにタイプすればいいのかわからないので、我慢してください。

これは私を超えています。私はまだC#の新人です。基本的に、プログラムを実行している現在のユーザーのローミングアプリケーションデータにフォルダーを作成する必要があります。また、アプリケーションデータセクションの別のフォルダーにアクセスし、作成したアプリケーションデータフォルダー内のファイルのコピーでファイルを置き換える必要があります。

15
Matthew H

最初の2つのパスは簡単です

// The folder for the roaming current user 
string folder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);

// Combine the base folder with your specific folder....
string specificFolder = Path.Combine(folder, "YourSpecificFolder");

// CreateDirectory will check if folder exists and, if not, create it.
// If folder exists then CreateDirectory will do nothing.
Directory.CreateDirectory(specificFolder);

最後のパスでは、コピーするファイルがある場所が明確ではありません。
ただし、次の名前のファイルがあるとします

string file = @"C:\program files\myapp\file.txt";
File.Copy(file, Path.Combine(specificFolder, Path.GetFileName(file));

MSDNリンク:

パスクラス
Environment.SpecialFolder enum
File.Copyメソッド

40
Steve

ファイルの物理的な場所を気にせずに Isolated Storage を使用することをお勧めします。これはより柔軟な方法です。分離ストレージAPIを使用するだけで、.NETフレームワークが物理的なファイルの場所に責任を持ちます(たとえば、オペレーティングシステムの場所によって異なる場合があります)。

1
Tadas Šukys