【コマンドライン】ファイルパスからドライブ名やファイル名・拡張子を取得する
説明
引数(%1 など)やFORで使う変数(%f など)からドライブ名やファイル名を取得する場合は以下を使用する。これをパス演算子という。
FORの変数は、記述のところを"%%~f"のようにして使う。
記述 | 説明 | 出力例 |
---|---|---|
%~1 | 引用符(")を削除 | C:\BatSample\Sample.bat |
%~f1 | 完全修飾パス名 | C:\BatSample\Sample.bat |
%~d1 | ドライブ文字 | C: |
%~p1 | パス | \BatSample\ |
%~n1 | ファイル名 | Sample |
%~x1 | 拡張子(.あり) | .bat |
%~s1 | 8.3形式パス | C:\BATSAM~1\Sample.bat |
%~a1 | ファイルの属性 | -rahsc--- |
%~t1 | ファイルの更新日 | 2018/03/28 12:00 |
%~z1 | ファイルサイズ | 123 |
%~%PATH:1 | 環境変数"PATH"に指定されている場所を探し、同名ファイルがあればパスを表示。無かった場合は空欄 | - |
修飾子を組み合わせることもできる。
記述 | 説明 |
---|---|
%~dp1 | ドライブ名とパス(C:\Sample) |
%~nx1 | ファイル名と拡張子 |
ファイルの属性
記述 | 説明 |
---|---|
d | ディレクトリ |
r | 読み取り専用 |
a | アーカイブ |
h | 隠しファイル |
s | システムファイル |