PowerShell 2.0 スクリプトの変数に絶対パスがあります。拡張子を取り除きたいが、フル パスとファイル名はそのままにしておく。それを行う最も簡単な方法は?
したがってC:\Temp\MyFolder\mytextfile.fake.ext.txt
、変数が呼び出された場合、次のように言います$file
帰りたい
C:\Temp\MyFolder\mytextfile.fake.ext
PowerShell 2.0 スクリプトの変数に絶対パスがあります。拡張子を取り除きたいが、フル パスとファイル名はそのままにしておく。それを行う最も簡単な方法は?
したがってC:\Temp\MyFolder\mytextfile.fake.ext.txt
、変数が呼び出された場合、次のように言います$file
帰りたい
C:\Temp\MyFolder\mytextfile.fake.ext
タイプの場合[string]
:
$file.Substring(0, $file.LastIndexOf('.'))
タイプの場合[system.io.fileinfo]
:
join-path $File.DirectoryName $file.BaseName
またはあなたはそれをキャストすることができます:
join-path ([system.io.fileinfo]$File).DirectoryName ([system.io.fileinfo]$file).BaseName
# the path
$file = 'C:\Temp\MyFolder\mytextfile.fake.ext.txt'
# using regular expression
$file -replace '\.[^.\\/]+$'
# or using System.IO.Path (too verbose but useful to know)
Join-Path ([System.IO.Path]::GetDirectoryName($file)) ([System.IO.Path]::GetFileNameWithoutExtension($file))