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