パスが_\
_で終わる場合は、パスをトリミングする必要があります。
_C:\Ravi\
_
に変更する必要があります
_C:\Ravi
_
パスが_\
_で終わらない場合があります(その場合はスキップする必要があります)。
.EndsWith("\")
で試しましたが、_\\
_ではなく_\
_を使用すると失敗します。
これは、条件に頼らずにPowerShellで実行できますか?
過度に複雑にする必要はありません
"C:\Ravi\".trim('\')
代わりにTrimEnd
を使用することを検討してください(特にUNC
Pathを使用している場合):
"C:\Ravi\".TrimEnd('\')
「\」と「\\」で終わるパスを区別する必要があり、場合によってはそれらを異なる方法で処理する必要があるとのことです。 .Trim("\")
または.TrimEnd("\")
を使用して、指定した例の末尾の「\」文字を削除できますが、どちらのメソッドもallパスからの末尾のスラッシュ。
次の正規表現は、パスが単一の「\」で終わる場合はTrueを返しますが、複数の「\」文字で終わる場合はfalseを返します。
$Path -match '.+[^\\]\\$'
正規表現の意味:
与える:
"C:\Ravi\" -match '.+[^\\]\\$'
True
"C:\Ravi\\" -match '.+[^\\]\\$'
False
これがお役に立てば幸いです/おもしろいです。 :-)