0

そして。これをできる限り説明しようと思います。

明らかに、私はプログラムに取り組んでいます。基本的に、ユーザーが 1 つのファイルを選択して [置換] ボタンをクリックすると、AppData フォルダー内のファイルが置換されます。

さて、プログラム用の AppData フォルダーを作成する方法がわかりました。基本的に、私がやりたいことは、最初に選択したファイルを取得し (ファイルを開くダイアログを介して)、作成した AppData にコピーすることです。次に、ファイルの名前を変更し、ファイルを他のフォルダーにコピーする必要があります。

私は探していましたが、必要なものが見つからないようです...これはひどいです。

編集: 2 番目の質問です。ユーザーが「myfile.txt」を選択すると、AppData の「.../Roaming/thefiles/file.txt」にフォルダーがあります。

その「file.txt」の名前を変更して置き換える必要がありますが、全員のユーザー名が異なるため、そのディレクトリに移動する方法がわかりません。

4

1 に答える 1

1

まず、AppData にフォルダーを作成する必要はありません。すぐに利用できます。

File.Copy(sourcepath,destinationpath); can be used for this purpose

http://msdn.microsoft.com/en-us/library/cc148994.aspxこれをチェックしてください。

Application.UserAppDataPathまたはを使用Application.CommonAppDataPathして、プログラムのアプリ データ フォルダーにアクセスします。

File.Copy(sourcepath,Path.Combine(Application.UserAppDataPath,"yourfile.ext")); を呼び出すことができます。

編集

システムにログインしているユーザーのことだと理解しています

using (OpenFileDialog fd = new OpenFileDialog())
        {
            if (fd.ShowDialog() == DialogResult.OK)
            {
                string fullFileName = fd.FileName;
                string fileNameWithExt = Path.GetFileName(fullFileName);
                string destPath = Path.Combine(Application.UserAppDataPath, fileNameWithExt);
                File.Copy(fd.FileName, destPath);
            }
        }

上記のコードは、選択したファイルを、ログインしたユーザーに属するプログラムの AppData パスにコピーします。例: user1 として Windows にログインした場合、これは user1 の AppData の下にコピーされます。

編集2

間違っていなければ、 Application.UserAppDataPath は常に現在ログインしている Windows ユーザーのパスを提供するため、他のユーザーのデータを失うことを心配することなく、そのディレクトリ内でファイルを安全に移動できます。

于 2013-07-13T17:49:20.280 に答える