2016-01-10 4 views
1

В настоящее время я застрял в поиске информации о том, как легко выводить результаты функции в файл.Невозможно записать вывод функции в файл

$Balls = 5 
$Plays = 1..26 

function PowerBall { 
    foreach ($Trys in $Plays) { 
     $random = Get-Random -Input @(1..69) -Count $Balls 
     Write-Host $random -NoNewline 
     Write-Host " $Trys" -ForegroundColor Red 
    } 
} 

PowerBall | Out-File C:\Windows\Temp\numbers2.txt 
+0

Добро пожаловать в Переполнение стека. Я думаю, что это может помочь уточнить ваш вопрос с вашими желаемыми результатами более явно. Хотя я могу сказать, чего вы пытаетесь достичь, другим будущим пользователям, которые менее знакомы с PowerShell, может и не быть. Что-то вроде строк «Хотя эта функция действительно дает желаемый результат в консоли PowerShell, она не просто выводит результаты в файл». –

+0

Спасибо за комментарий, я сделал редактирование, чтобы быть более информативным о том, что я хотел. – JonR85

ответ

0

Ваша функция ничего не возвращает, потому что последняя строка является командой Write-Host. Измените функцию следующим образом:

function PowerBall { 
    Foreach($Trys in $Plays) { 
    $random = get-random -input @(1..69) -count $Balls 
    Write-Host $random -nonewline 
    write-host " $Trys" -ForegroundColor Red 
    "$random $Trys" 
    } 
} 

Кроме того, если вы хотите вывести в виде текстового файла, то вы должны использовать Set-Content вместо Export-CSV.

+0

Нечетные результаты. Когда я запускал вашу функцию после запуска, она работала с использованием '>', как и следовало ожидать. «Экспорт-CSV» работал не так, как ожидалось, он привел только столбец «Длина» с подсчетом количества символов в строке. Когда я запускал вашу функцию на новом сеансе PowerShell, она также не работала так, как ожидалось. Это привело к удвоению объема выпуска. Вы можете открыть новое окно PowerShell и протестировать свое решение. (Извинения за задержанное «редактирование».) –

+0

Изменен мой ответ. Export-Csv следует использовать, если вы работаете с объектами. –

+0

Что я имею в виду, попробуйте запустить вашу функцию без перенаправления на файл. Он успешно записывает файл, но когда он не записывается в файл, он удваивает вывод в консоли. Я признаю, что 'Export-Csv' действительно не подходит для такого рода функций без соответствующих заголовков столбцов, так что это все хорошо. –

Смежные вопросы