当您使用Get-ChildItem
和Where-Object
子句使其仅在有结果的情况下在文本文件中生成结果时,是否有办法?
Get-ChildItem -path \\$server\e$ -Recurse | Where-Object {$_.name -eq help.txt} | `
out-file "c:\temp\$server.txt"
无论是否有结果,上面都会生成一个文件。我无法告知实施逻辑只能在结果可用时创建。
答案 0 :(得分:2)
你不能这样做。你必须分两部分来完成:
$results = Get-ChildItem -path \\$server\e$ -Recurse | Where-Object {$_.name -eq help.txt}
if ($results) {
$results | out-file "c:\temp\$server.txt"
}
答案 1 :(得分:2)
如果您使用Out-File
代替Get-ChildItem -path \\$server\e$ -Recurse | Where-Object {$_.name -eq help.txt} |
Set-Content "c:\temp\$server.txt"
#or
gci -R \\$server\e$ |? Name -eq "help.txt" | sc "c:\temp\$server.txt"
,似乎可以按照您的要求工作。
nvarchar