繁体   English   中英

Powershell Out文件不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM