.NET TIPS

ファイル・パス名の拡張子を簡単に変更するには?[C#、VB]

デジタルアドバンテージ 一色 政彦
2007/12/13

 ファイルの拡張子を変更したい場合には、Pathクラス(System.IO名前空間)の静的メソッドChangeExtensionが便利だ。

 Path.ChangeExtensionメソッドは、第1パラメータに変更対象ファイルのパス名を指定し、第2パラメータに変更する拡張子を指定する。このとき、第2パラメータとなる文字列の先頭には「.」があってもなくてもどちらでもよい。戻り値には、変更後のファイル・パス名が返される(ただし、実際のファイルの拡張子は変更されないので注意)。

 実際にファイルの拡張子を変更するには、「TIPS:ファイルをコピー/削除/リネーム/移動するには?」で紹介されている、File(System.IO名前空間)クラスの静的メソッドMoveを利用すればよい。

 次のコードは実際にPath.ChangeExtensionメソッドを利用するコンソール・アプリケーションの例である。このプログラムを実行すると、ファイル・パス「C:\sample.txt」のファイルの拡張子を、「.txt.bak」に変更する。

using System;
using System.IO;

class Class1
{
  [STAThread]
  static void Main(string[] args)
  {
    string oldPath = @"C:\sample.txt";

    // 拡張子を変更する
    string newPath =
      Path.ChangeExtension(oldPath, ".txt.bak");

    // 実際のファイル名を変更する
    File.Move(oldPath, newPath);
  }
}
Imports System.IO

Module Module1

  Sub Main()
    Dim oldPath As String = "C:\sample.txt"

    ' 拡張子を変更する
    Dim newPath As String = _
      Path.ChangeExtension(oldPath, ".txt.bak")

    ' 実際のファイル名を変更する
    File.Move(oldPath, newPath)
  End Sub

End Module
ファイル・パス名の拡張子を変更するサンプル・プログラム

 上記のプログラムを実行すると、「C:\sample.txt」の拡張子が変更されて「C:\sample.txt.bak」になることが確認できる。End of Article

カテゴリ:クラス・ライブラリ 処理対象:パス
使用ライブラリ:Pathクラス(System.IO名前空間)
使用ライブラリ:Fileクラス(System.IO名前空間)
関連TIPS:ファイルをコピー/削除/リネーム/移動するには?

この記事と関連性の高い別の.NET TIPS
拡張メソッドを作成するには?[C#/VB]
[ASP.NET].htmlや.pdfファイルをフォーム認証やロギングの対象にするには?
ファイルをコピー/削除/リネーム/移動するには?
パス名やファイル名からベース名と拡張子を取得するには?
[ASP.NET]構成ファイルにカスタムの設定項目を追加するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間