如何删除路径Powershell中最后一个斜杠之后的所有内容

时间:2020-11-09 19:56:27

标签: powershell

我正在尝试删除CanonicalName中最后一个斜杠之后的所有内容。如您所料,字母,字符,单词的数量和长度是可变的。这就是为什么我需要使用这样一个事实,即最后一个斜杠“ /”之后的所有内容都是每个人唯一的共同点。

我正在使用以下内容:

(Get-ADUser Identity USER -Properties *).CanonicalName

正常输出如下:

domain.tld/dept/section/office/USER

我希望结果是:

domain.tld/dept/section/office

最终,这将被合并到for循环中,并通过成千上万的用户运行,这就是为什么我需要找到一种剥除末端的方法的原因。

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

(Get-ADUser Identity USER -Properties CanonicalName).CanonicalName -replace '/[^/]*$'

/与文字/匹配。 [^]是一个否定的字符类,它使[^/]匹配除/之外的任何字符。 *是零个或多个匹配量(贪婪匹配)。 $是字符串的结尾。


路径转换也可以正常工作,但是如果平台的目录分隔符char不是/,则/将转换为其他格式。然后,您将剩下的将它们转换回去。与使用简单的-replace运算符相比,这需要更多的工作。