0

このスクリプトの結果をテキストファイルに出力しようとしています。これまでの私の試みはすべて、空白のテキストファイルを残してしまいました。

Out-Fileが正しいコマンドレットであるかどうかさえわかりません。結果を.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 に答える