2015-06-25 126 views

回答

2

的參數被視爲char的數組,而不是字面字符串。匹配參數「D:\ abc」中任何字符的字符串開始處的所有連續字符都將被刪除。

您可以使用-replace操盤手,這需要一個正則表達式作爲其右手的說法:

PS C:\> "D:\abc\abcName" -replace "^D:\\abc\\" 
abcName 

如果您不確定逃脫(如\)的字符,讓[regex] class do it for you:

PS C:\> "D:\abc\abcName" -replace "^$([regex]::Escape("D:\abc\"))" 
abcName 
2

Mathias R. Jessen指出。

看起來像要從路徑中獲取文件名。除了使用TrimStart考慮使用靜態GetFileNameWithoutExtension方法:

[system.io.path]::GetFileNameWithoutExtension("D:\abc\abcName.bat") 

結果:

abcName

或者,如果你想擴展名的完整文件名:

[system.io.path]::GetFileName("D:\abc\abcName.bat") 

結果:

abcName.bat

相關問題