0

我正在尝试将此脚本的结果输出到文本文件。到目前为止,我所有的尝试都给我留下了一个空白的文本文件。

我什至不确定 Out-File 是否是正确的 cmdlet。将我的结果正确输出到 .txt 文件的位置和语法是什么?

$store = Get-Content C:\Users\store_list.txt <#list of numbers#>

ForEach ($item in $store)
{
    $item = [int]$item
    Write-Host "Item: " $item  <# Used to show list item being operated
                                  on, can be commented out #>

    if ($item -gt 0 -and $item -le 255)
    {
        Write-Host "10.128.$item.50"
    }

    if ($item -ge 256 -and $item -le 511)
    {
        $item1 = $item-256
        Write-Host "10.129.$item1.50"
    }

    if ($item -ge 512 -and $item -le 767)
    {
        $item2 = $item-512
        Write-Host "10.130.$item2.50"
    }
}
4

1 回答 1

1

完成任务的最简单方法是这样的:

$store = Get-Content C:\Users\store_list.txt <#list of numbers#>

ForEach ($item in $store) 
{
    $item = [int]$item
    Write-Verbose "Item:  $item"  <#Use Write-Verbose so you can enable/disable it by
                                passing the -Verbose parameter #>

    if ($item -gt 0 -and $item -le 255)
    {
        "10.128.$item.50" |  Out-File -filePath $filePath -append -encoding utf8
    }
    if ($item -ge 256 -and $item -le 511)
    {
        $item1 = $item-256
        "10.129.$item1.50" |  Out-File -filePath $filePath -append  -encoding utf8
    }
    if ($item -ge 512 -and $item -le 767)
    {
        $item2 = $item-512
        "10.130.$item2.50" |  Out-File -filePath $filePath -append -encoding utf8
    }
}
于 2012-11-13T00:04:34.133 回答