見出し画像

PowerShell ファイルパスを分割する

ファイルのフルパスからファイル名を抜き出したり、逆にパスだけ抜き出したりすることがあります。その時のためのメモです。


ドライブ名だけ抜き出す

$path ="C:\path\to\folder\aaa.txt"
$val = Split-Path $path -Qualifier
Write-Host $val

ドライブ名を省いた部分を抜き出す

$path ="C:\path\to\folder\aaa.txt"
$val = Split-Path $path -noQualifier
Write-Host $val

ファイル名を抜き出す

$path ="C:\path\to\folder\aaa.txt"
$val = Split-Path $path -Leaf
Write-Host $val

パスだけ抜き出す

$path ="C:\path\to\folder\aaa.txt"
$val = Split-Path $path -Parent
Write-Host $val

絶対パスか相対パスか判定する

$path ="C:\path\to\folder\aaa.txt"
$val = Split-Path $path -IsAbsolute  #絶対パスなら$True 相対パスなら$False
Write-Host $val
$path =".\path\to\folder\aaa.txt"
$val = Split-Path $path -IsAbsolute  #絶対パスなら$True 相対パスなら$False
Write-Host $val


おまけ ファイルを検索する

# ファイルを検索する ファイル名のみ
Split-Path -Path "C:\temp\*.pdf" -Leaf -Resolve

# ファイルを検索する パス付
Join-Path "C:\temp" *.pdf -Resolve

# ファイルを検索する ファイルと更新日
$items = Get-ChildItem "C:\temp\*.pdf" -File
foreach ($item in $items) {
	$item.FullName
	$item.LastWriteTime
}




#PowerShell #スクリプト #Windows  

この記事が気に入ったらサポートをしてみませんか?