在上一个反斜杠之后阅读文本

时间:2017-05-11 12:42:39

标签: powershell

我希望在文本文件的最后一个反斜杠之后阅读文本。目前我有:

$data=Get-Content "C:\temp\users.txt"

users.txt文件包含来自用户主目录的路径

\\myserver.home.com\users\user1.test

如何在文本行的末尾选出用户帐户(user1.test)名称,以便将其用作变量?

4 个答案:

答案 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]

这使用两个反斜杠,因为反斜杠是一个正则表达式特殊字符(转义),所以第一个斜杠是转义第二个斜杠。