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 メソッドを使えば追加のライブラリ不要で、シンプルにファイル名を変更することができます。
-
Windowsでファイル名を一括変更する3つの方法【エクスプローラー・コマンドプロンプト・PowerShell】
デジタルファイルのコレクションが増えてくると、大量のファイルの名前をまとめて変更して、後から見つけやすくしたい場面が出てきます。似たようなファイルを何十個、何百個も一つずつ手作業でリネームするのは、時間がかかるうえにストレスの原因になります。幸い、Windowsにはファイルを一括でリネームできる、はるかに簡単な方法がいくつか用意されています。 本記事の最後でサードパーティ製ツールも少しご紹介しますが、通常は追加ソフトをインストールする必要はありません。Windowsに標準搭載されているツールだけで十分対応できます。 方法1:エクスプローラーを使った一括リネーム ファイルエクスプローラーを使う
-
C#でテキストファイルの行数をカウントする方法
C#でファイルの行数を数えるには、File.ReadAllLines()メソッドとLengthプロパティを組み合わせるのが最もシンプルな方法です。この記事では、StreamWriterでファイルを作成するところから、行数を取得して表示するまでの一連の手順を解説します。 手順1:StreamWriterクラスでファイルを作成して書き込む まず、StreamWriterクラスを使って「hello.txt」というファイルを作成し、サンプルとなるテキストを書き込みます。usingステートメントで囲むことで、処理終了後にリソースが自動的に解放されます。 using (StreamWriter sw =