从文本列表中测试UNC路径并使用其结果写入每一行

问题描述 投票:0回答:1

我有一个包含多个DFS共享的文本文件,如下所示:

\\\computer1\dfsshare1  
\\\computer2\dfsshare2  
\\\computer3\dfsshare3  
\\\computer4\dfsshare4  
\\\computer5\dfsshare5  

我想使用Test-Path函数对它们中的每一个进行Foreach-Object,然后列出每一行+ = +其结果(true或false)并在行的末尾添加一个@,所有这些都将显示在屏幕上。

我测试了以下内容:

$DFSList = "G:\DFS-MONITOR\DFS-List.txt"    
Get-Content $DFSList | Foreach-Object {Write-host $_'=' Test-Path $_ '@'} 

但是无法让Test-PathWrite-Host之后工作(只是没有它)。

假设第4个DFS共享不可用,预期结果应该是这样的:

\\computer1\dfsshare1=True@
\\computer2\dfsshare2=True@
\\computer3\dfsshare3=True@
\\computer4\dfsshare4=False@
\\computer5\dfsshare5=True@
powershell for-loop foreach windows-scripting
1个回答
1
投票

在PowerShell中,如果要将命令/ script / cmdlet的结果/输出传递给另一个命令/ script / cmdlet,则需要包含在括号中提供结果的命令:

Write-Host $_ '=' (Test-Path $_) '@'
© www.soinside.com 2019 - 2024. All rights reserved.