フォーム作成
まずはフォームを作成します。
WPFアプリ(.NET Framework)で新規製作します。

フォーム内にボタンを配置します。

ファイルをコピーする
ファイルをコピーするにはFile.Copy関数を使用します。引数は以下の通りです。
System.IO.File.Copy(“コピー元パス”,”コピー先パス”); *第3引数 true:上書き保存
まずは、コピー用のテキストを作成します。

次に、ボタン関数を編集していきます。
private void Button_Click(object sender, RoutedEventArgs e)
{
System.IO.File.Copy(@"C:\test\text1.txt", @"C:\test\text2.txt");
MessageBox.Show("ファイルをコピーしました");
}ファイルがコピーされました。

ファイル・フォルダ名を取得
フルパスからファイル名を取得します。
ファイル名を取得するには、Path.GetFileName関数を使用します。
コードと実行結果を以下に表示します。
private void Button_Click(object sender, RoutedEventArgs e)
{
string fileName = System.IO.Path.GetFileName(@"C:\test\text1.txt");
MessageBox.Show(fileName);
}
次にフォルダ名を取得します。
フォルダ名を取得するには、Path.GetDirecotryName関数を使用します。
private void Button_Click(object sender, RoutedEventArgs e)
{
string fileName = System.IO.Path.GetDirectoryName(@"C:\test\text1.txt");
MessageBox.Show(fileName);
}ファイル名 “test1.txt” を除いたフォルダ名が表示されています。

ファイルを移動
まずは移動先のフォルダを作成します。
フォルダ1

フォルダ2

それでは、フォルダ間でファイルを移動してみます。
ファイルを移動するには、File.Move関数を使用します。
private void Button_Click(object sender, RoutedEventArgs e)
{
System.IO.File.Move(@"C:\testFolder1\text1.txt", @"C:\testFolder2\text1.txt");
MessageBox.Show("ファイルを移動しました");
}ファイルが移動されました。

↓

フォルダを作成
以下のフォルダ内にサブフォルダを作成してみます。作成するには、Directory.CreateDirectory関数を使用します。

private void Button_Click(object sender, RoutedEventArgs e)
{
System.IO.Directory.CreateDirectory(@"C:\testFolder2\SubFolder");
MessageBox.Show("サブフォルダを作成しました");
}実行結果:サブフォルダが作成されました

フォルダを移動
以下のファイルデータを移動先フォルダへ移動してみます。

移動するには、Directory.Moveを使用します。
private void Button_Click(object sender, RoutedEventArgs e)
{
System.IO.Directory.Move(@"C:\testFolder1\text1.txt", @"C:\testFolder1\移動先\text1.txt");
MessageBox.Show("ファイルを移動しました");
}移動先フォルダにファイルが移動しました。

↓

ファイル・フォルダを削除する
ファイルを削除します。削除するには、File.Delete関数を使用します。
以下のフォルダに保存されたファイルを削除してみます。

private void Button_Click(object sender, RoutedEventArgs e)
{
System.IO.File.Delete(@"C:\testFolder1\移動先\text1.txt");
MessageBox.Show("ファイルを削除しました");
}実行すると、以下の通りファイルが削除されています。

次にフォルダを削除します。フォルダを削除するには、Directory.Deleteを使用します。
移動先フォルダを削除するコードを作成します。

private void Button_Click(object sender, RoutedEventArgs e)
{
System.IO.Directory.Delete(@"C:\testFolder1\移動先");
MessageBox.Show("フォルダを削除しました");
}実行するとフォルダが削除されました。

このフォルダ削除ですが、フォルダの中にフォルダ(サブフォルダ)が入っていると、ディレクトリが空ではありません。というエラーが返されます。


サブフォルダごと削除したいときは、Directory.Deleteの第二引数にtrueを入れます。
private void Button_Click(object sender, RoutedEventArgs e)
{
System.IO.Directory.Delete(@"C:\testFolder1\移動先",true); //サブフォルダごと削除
MessageBox.Show("フォルダを削除しました");
}そうすると、サブフォルダごとフォルダを削除することができます。



コメント