[英]Powershell Out-file not working
我有一个Powershell脚本,该脚本在一些远程服务器上收集一些文件信息。 当写入控制台时,我看到结果很好,但是它们似乎没有写入指定的输出文件中:
out-file -filepath $filepath -inputobject $date -force -encoding ASCII -width 50
ForEach($server in $serverLists)
{
$result += $server
$result += $break
ForEach($filePath in $filePaths)
{
$result += $filePath
$result += $break
$command = "forfiles /P " + $filePath + " /S /D -1 > C:\temp\result.txt"
$cmd = "cmd /c $command"
Invoke-WmiMethod -class Win32_process -name Create -ArgumentList $cmd -ComputerName $server
sleep 2
$result += Get-Content \\$server\C$\temp\result.txt
$result += $break
$result += $break
write-host $result
#out-file -filepath $filepath -Append -inputobject $result -encoding ASCII -width 200
Remove-Item \\$server\C$\temp\result.txt
}
$result += $break
}
out-file -filepath $filepath -Append -inputobject $result -encoding ASCII -width 200
您可以在两个地方使用相同的变量$filepath
:作为foreach
循环的循环变量和循环外的循环变量。 循环结束后, foreach
循环不会恢复循环变量的值。 因此,在循环结束后,循环变量将具有循环的最后一个值或由break
命令中断循环的值。 如果您不希望变量值被foreach
循环覆盖,则应为循环变量选择其他名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.