2013-05-11 7 views
11

まあ、これをすべて入力する方法はわかりませんので、私と一緒にお願いします。C#でappdataフォルダを作成する方法

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

答えて

34

最初の二つのパスは、最後のパスで

// 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リンクと呼ばれるファイルがあることを仮定:

Path class
Environment.SpecialFolder enum
File.Copy method

+0

二重の投稿について申し訳ありません...ありがとう、スティーブに感謝します。これが可能であることを知ったので、私はもっと具体的にしましょう。 私は一度だけ作成する必要があります。だから、私はappdataフォルダなどのようなすべての必要なものをチェックする読み込み画面を作成しています。私はそれを確認する必要があり、そのフォルダが作成されている場合、それは渡されます。そうでなければ、それが作成されます。私はこれが自動的なものであることを知っています。そう。うん。また、コピーして置き換えるファイルはすべてアプリケーションフォルダにあります。また、コピーしているファイルの名前を変更する必要があります。名前は同じでなければなりません。 –

+0

OK CreateDirectoryのチェックを追加しました。ファイルのコピー部分については、コピーするファイルの名前の付け方、ファイルの名前の変更方法、ファイルの場所などの例を示す必要があります。 'application folder'とはどういう意味ですか? – Steve

+0

私が考えることができる最も簡単な例はMinecraftです。したがって、minecraft.jarはappdataの.minecraft/bin/minecraft.jarにあります。そのminecraft.jarを自分のものに置き換えたいとしましょうが、私の名前が_minecraft.jarの場合は動作しません。私はそれがファイル名を変更する必要があります。したがって、appdata/.myfolder/_minecraft.jarをコピーし、appdata/.minecraft/bin/minecraft.jarの名前を変更して置き換えます。それは理にかなっていますか? –

1
私はあなたのファイルが物理的にどこ悩まずに Isolated Storageを使用するためにあなたをお勧めします

位置しています。これはより柔軟な方法です.Iserved Storage APIを使用するだけで、物理的にファイルが存在する場所(たとえば、オペレーティングシステムの場所が異なる可能性があります)を.NETフレームワークが担当します。