我需要修剪路徑,如果它以「\」結尾。Powershell命令修剪路徑,如果結束「」
C:\Ravi\
我需要改變,以
C:\Ravi
我有哪裏的道路不會以「\」結束的情況下,(然後,它必須跳過)。
我試過.EndsWith("\")
。但是當我有「\\」而不是「\」時它失敗。
是否有powershell的方式,而不是有條件。
我需要修剪路徑,如果它以「\」結尾。Powershell命令修剪路徑,如果結束「」
C:\Ravi\
我需要改變,以
C:\Ravi
我有哪裏的道路不會以「\」結束的情況下,(然後,它必須跳過)。
我試過.EndsWith("\")
。但是當我有「\\」而不是「\」時它失敗。
是否有powershell的方式,而不是有條件。
考慮使用TrimEnd
代替(尤其是如果您正在使用UNC
路徑工作):
"C:\Ravi\".TrimEnd('\')
雖然可以使用.Trim("\")
或.TrimEnd("\")
刪除尾隨「\ 「你給出的例子中的字符,你提到需要區分以」\「和」\「結尾的路徑,並可能以不同的方式處理這些路徑。請注意,這兩種方法都會從您的路徑中刪除全部尾隨斜線。
以下的正則表達式將返回$ true,如果您的路徑在一個單一的「\」,但如果它在多個結束假「\」字符結尾:
$Path -match '.+[^\\]\\$'
正則表達式的意思是:
,並提供:
"C:\Ravi\" -match '.+[^\\]\\$'
True
"C:\Ravi\\" -match '.+[^\\]\\$'
False
希望這有助於/很有趣。 :-)
爲什麼你需要修剪這條路?根據您的要求,可能有更好的方法來處理它(例如,如果您將字符串連接到一個路徑中,則「Join-Path」將爲您處理它而不進行修剪)。 – alroc
@alroc我不是建立路徑。我正在提取並根據需要進行定義。 – Ravichandra
'Split-Path'可能對您有用。 – alroc