Muni Bus

パソコンの操作方法や設定方法を忘れないようにメモしています。ブログを一回引っ越ししているので、所々表示がかなり乱れています・・・

【Windows PowerShell】ファイルからファイル名のフルパスなどを取り出す

ファイル名から、ファイル名のフルパス、ファイル名から拡張子を取り除いたもの、拡張子のみ、を取り出すには、Get-ChildItemコマンドレットによりファイルを取得して、そのFileInfoオブジェクトのプロパティを参照すると、簡単に取り出せる。

 

FullName
→ドライブ名や親ディレクトリ名も含める(いわゆるフルパス表記)

BaseName
→ファイル名から拡張子を(1つだけ)取り除いたもの

Extension
→ファイル名から拡張子だけ取り出したもの

 

以下は、カレントディレクトリに「aaa.txt」と「bbb.ccc.txt」という2つのファイルがある場合の使用例。

PS > Get-ChildItem -Name *.txt
aaa.txt
bbb.ccc.txt
PS > (Get-ChildItem aaa.txt).FullName
○:\○○\○○\aaa.txt
PS > (Get-ChildItem aaa.txt).BaseName
aaa
PS > (Get-ChildItem aaa.txt).Extension
.txt
PS > (Get-ChildItem bbb.ccc.txt).FullName
○:\○○\○○\bbb.ccc.txt
PS > (Get-ChildItem bbb.ccc.txt).BaseName
bbb.ccc
PS > (Get-ChildItem bbb.ccc.txt).Extension
.txt

Extensionプロパティの値は「.」(ピリオド)が先頭に付いていることに注意。