我希望在文本文件的最后一个反斜杠之后阅读文本。目前我有:
$data=Get-Content "C:\temp\users.txt"
users.txt文件包含来自用户主目录的路径
\\myserver.home.com\users\user1.test
如何在文本行的末尾选出用户帐户(user1.test)名称,以便将其用作变量?
答案 0 :(得分:6)
您可以使用简单的正则表达式删除所有内容,直到并包含最后一个斜杠:
$user = $data -replace '.*\\'
答案 1 :(得分:5)
由于您正在处理文件路径,因此可以使用GetFileName:
$data=Get-Content "C:\temp\users.txt"
$name=[System.IO.Path]::GetFileName($data)
答案 2 :(得分:4)
$HomeDirArray = Get-Content "C:\temp\users.txt" | Split-Path -Leaf
会为您提供一个可以使用ForEach
进行迭代的数组(例如ForEach ($User in $HomeDirArray) {...}
。
答案 3 :(得分:3)
你可以使用Split和[-1]来获取最后一个反斜杠之后的字符串:
$data = Get-Content "C:\temp\users.txt"
$file = ($data -split '\\')[-1]
这使用两个反斜杠,因为反斜杠是一个正则表达式特殊字符(转义),所以第一个斜杠是转义第二个斜杠。