はじめに
バッチファイルを作成したことがある方なら、ファイルパスやファイル名を取得する方法を知っているかもしれません。
しかし、バッチファイル初心者の方にとっては、その方法がわからず困ってしまうこともあるでしょう。
そこで、本記事ではWindowsバッチファイルの特殊文字を使ったファイルパスやファイル名の取得方法を解説します。
さらに、実際のサンプルバッチもご紹介するので、ぜひ参考にしてみてください!
ファイル名やファイルパスを取得する方法
特殊文字を使ったファイルパスの取得方法
バッチファイル内で現在のディレクトリやファイルのパスを取得するには、特殊文字を使用します。
以下に、よく使用される特殊文字とその意味をまとめました。
%%~n – ファイル名の取得
この特殊文字を使うと、ファイルの拡張子を除いたファイル名を取得することができます。
例えば、以下のように使用します。
set filename=%%~n0
echo %filename%
この場合、%filename%
には現在のバッチファイルのファイル名が格納されます。
%%~x – 拡張子の取得
この特殊文字を使うと、ファイルの拡張子を取得することができます。例えば、以下のように使用します。
set extension=%%~x0
echo %extension%
この場合、%extension%
には現在のバッチファイルの拡張子が格納されます。
%%~nx – ファイル名と拡張子の取得
この特殊文字を使うと、ファイル名と拡張子を取得することができます。
例えば、以下のように使用します。
set filename_ext=%%~nx0
echo %filename_ext%
この場合、%filename_ext%
には現在のバッチファイルのファイル名と拡張子が格納されます。
特殊文字を使ったファイルパスの取得方法
ファイルパスを取得するためには、特殊文字を組み合わせて使用します。
以下に、よく使用される特殊文字とその意味をまとめました。
%%~d – ドライブレターの取得
この特殊文字を使うと、ファイルのドライブレターを取得することができます。
例えば、以下のように使用します。
set drive=%%~d0
echo %drive%
この場合、%drive%
には現在のバッチファイルが存在するドライブのレターが格納されます。
%%~p – ファイルのディレクトリパスの取得
この特殊文字を使うと、ファイルのディレクトリパスを取得することができます。
例えば、以下のように使用します。
set path=%%~p0
echo %path%
この場合、%path%
には現在のバッチファイルが存在するディレクトリのパスが格納されます。
%%~dp – ドライブレターとディレクトリパスの取得
この特殊文字を使うと、ファイルのドライブレターとディレクトリパスを取得することができます。
例えば、以下のように使用します。
set drive_path=%%~dp0
echo %drive_path%
この場合、%drive_path%
には現在のバッチファイルが存在するドライブレターとディレクトリパスが格納されます。
%%~t – ファイルの作成日時の取得
この特殊文字を使うと、ファイルの作成日時を取得することができます。
例えば、以下のように使用します。
set creation_time=%%~t0
echo %creation_time%
この場合、%creation_time%
には現在のバッチファイルの作成日時が格納されます。
%%~z – ファイルサイズの取得
この特殊文字を使うと、ファイルのサイズを取得することができます。
例えば、以下のように使用します。
set filesize=%%~z0
echo %filesize%
この場合、%filesize%
には現在のバッチファイルのサイズが格納されます。
応用
今回のサンプルバッチファイルでは、%%~n0 のように0を使っていますが、これは実行したバッチファイル自身を示しています。
この 0 を 1 に変更すると1番目の引数の値が入力されます。
またfor文の中で使用する際にも応用できます。
例:指定したフォルダ内の全てのファイル名を表示する
@echo off
set folderpath=C:\sample
for %%i in ("%folderpath%\*") do (
echo %%~ni
)
まとめ
本記事では、バッチファイル初心者の方向けに、ファイルパスやファイル名を取得する方法を解説しました。
特殊文字を使って、ファイル名、拡張子、ディレクトリパス、作成日時、ファイルサイズなどを取得することができます。
これらの知識を活用すれば、より効率的なバッチファイルを作成することができるでしょう。
ぜひ、実際にサンプルバッチを試してみてください!
免責規定
この記事で提供される情報は、一般的なガイダンスを目的としており、すべての環境やシステムでの動作を保証するものではありません。
OSのバージョンやリリースによっては、記載されているコマンドが実行できない、または異なる結果をもたらす可能性があります。
また、会社内のパソコンなどでは、ポリシーや権限によって実行できない場合があります。
実行には管理者権限が必要な場合が多いため、注意が必要です。
この記事の情報を使用することによって生じる問題や結果について、筆者およびサイト管理者は責任を負いません。
すべての操作は自己責任で行ってください。
最後までお読みいただきありがとうございました。
またお会いしましょう!
コメント