C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でファイル名を変更する方法:Moveメソッドの使い方を解説

C#でファイルの名前を変更するには、System.IO 名前空間に含まれる File クラスの Move メソッドを使用します。Move メソッドは、指定したパスから別のパスへファイルを移動する機能ですが、同じフォルダ内で異なるファイル名を指定することで、実質的に「名前の変更」として利用できます。

基本的な考え方

たとえば、次のようなファイルが存在するとします。

D:\tom.txt

このファイル名を次のように変更したい場合、Move() メソッドを使います。

D:\tim.txt

サンプルコード

以下は、Move メソッドを使ってファイル名を変更する完全なコード例です。

using System;
using System.IO;
public class Demo {
    public static void Main() {
        File.Move(@"D:\tom.txt", @"D:\tim.txt");
        Console.WriteLine("File moved successfully!");
    }
}

このプログラムを実行すると、「tom.txt」が「tim.txt」に変更され、コンソールに「File moved successfully!」と表示されます。文字列の前に付けている @ は逐語的リテラル文字列を意味し、パス内のバックスラッシュ(\)をエスケープせずにそのまま記述できるため便利です。

注意点

  • 移動先に同名のファイルがすでに存在する場合IOException がスローされます。事前に File.Exists() で存在確認を行うか、try-catch ブロックで例外処理を実装しておくと安全です。
  • 元のファイルが存在しない場合は FileNotFoundException が発生します。
  • .NET Core 3.0 以降では、File.Move(移動元, 移動先, true) のように第3引数に true を指定することで、移動先に同名ファイルがあっても上書きできます。

このように、Move メソッドを使えば追加のライブラリ不要で、シンプルにファイル名を変更することができます。

  1. Windowsでファイル名を一括変更する3つの方法【エクスプローラー・コマンドプロンプト・PowerShell】

    デジタルファイルのコレクションが増えてくると、大量のファイルの名前をまとめて変更して、後から見つけやすくしたい場面が出てきます。似たようなファイルを何十個、何百個も一つずつ手作業でリネームするのは、時間がかかるうえにストレスの原因になります。幸い、Windowsにはファイルを一括でリネームできる、はるかに簡単な方法がいくつか用意されています。 本記事の最後でサードパーティ製ツールも少しご紹介しますが、通常は追加ソフトをインストールする必要はありません。Windowsに標準搭載されているツールだけで十分対応できます。 方法1:エクスプローラーを使った一括リネーム ファイルエクスプローラーを使う

  2. C#でテキストファイルの行数をカウントする方法

    C#でファイルの行数を数えるには、File.ReadAllLines()メソッドとLengthプロパティを組み合わせるのが最もシンプルな方法です。この記事では、StreamWriterでファイルを作成するところから、行数を取得して表示するまでの一連の手順を解説します。 手順1:StreamWriterクラスでファイルを作成して書き込む まず、StreamWriterクラスを使って「hello.txt」というファイルを作成し、サンプルとなるテキストを書き込みます。usingステートメントで囲むことで、処理終了後にリソースが自動的に解放されます。 using (StreamWriter sw =