Muni Bus

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

【Windows PowerShell】パス+ファイル名からなる文字列からパスを取り除く

-replace演算子を使用して正規表現を用いた文字列の置換をすればよい。以下、例。

PS > $fullpath = "C:\abc\efg\hij.klm.nop.qrs"
PS > $fullpath
C:\abc\efg\hij.klm.nop.qrs
PS > $fullpath -replace "^.+\\", ""
hij.klm.nop.qrs
PS > $st = $fullpath -replace "^.+\\", ""
PS > $st
hij.klm.nop.qrs

 「^.+¥¥」の正規表現の意味するところは、「文字列に含まれる一番終わりの¥記号を含むその¥記号より左側の文字列すべて(ただし改行文字は除く)」という意味。それを文字無し(””)に置換をしている。

最後の式は、置換した文字列が他の変数(上記例では$st)に代入できることを示した例。