2017-05-04 16 views
1

オブジェクトが存在するフルパスをトリミングした後に、Folder4内のオブジェクトのリストを取得するforeachループがあります。ここでファイル拡張子をトリミングする方法

はサンプルコードです:

$row.Path = $path.InnerText.Replace("/Folder1/Folder2/folder3/folder4/","") 

サンプル出力:

usp_StoredProcedurename.prc, 

fn_FunctionName.udf 

File.sql 

私がする必要がある最後の事は、任意の拡張子を削除すなわちの.prc、.PDF、.udfすることです。 SQLなど

ここでは、それぞれのcopleteです:

enter image description here

+1

画像としてコードを追加するのは良い習慣ではありません。質問**にテキスト**として貼り付けて(コードとして書式を設定するのが良い)そうすることで、あなたの質問に答えた人は、手作業でコードを入力しなくても、自分のコードを簡単に使えるようになります。 –

答えて

2

のstaticGetFileNameWithoutExtensionメソッドを探している可能性があります。あなたはパスを分割し、したい場合は、後で戻ってそれらを結合することができ$row.Pathの実際の出力に応じて、

[System.Io.Path]::GetFileNameWithoutExtension("usp_StoredProcedurename.prc") 

:それを使用するには、それに単一ファイルまたはパスを渡す必要があります。

$row.Path -replace '\..*' 

は正規表現が後すべてを削除することに注意してください:


代替、あなたの文字列一度内alleのファイルのファイル拡張子を削除する正規表現を使用することができますドット。

+0

こんにちはMartin、上記のサンプルコードを添付しました。GetfilenamewithoutExtensionまたはReplaceがどのように機能するか知りたいです。 私はpowershellにかなり知っています、あなたは助けてもらえますか? – Immortal

関連する問題