Powershell вывести в файл
The Out-File cmdlet sends output to a file. It implicitly uses PowerShell's formatting system to write to the file. The file receives the same display representation as the terminal. This means that the output may not be ideal for programmatic processing unless all input objects are strings. When you need to specify parameters for the output, use Out-File rather than the redirection operator ( > ). For more information about redirection, see about_Redirection.
Удаление выходных данных (Out-Null)
Командлет Out-Null предназначен для немедленного удаления всех получаемых входных данных. Это удобно для удаления посторонних данных, получаемых при выполнении команды. При вводе следующей команды никакие данные не возвращаются:
Example 3: Send output to a file in ASCII format
This example shows how to encode output with a specific encoding type.
The Get-Process cmdlet gets the list of processes running on the local computer. The Process objects are stored in the variable, $Procs . Out-File uses the FilePath parameter and creates a file in the current directory named Process.txt. The InputObject parameter passes the process objects in $Procs to the file Process.txt. The Encoding parameter converts the output to ASCII format. The Width parameter limits each line in the file to 50 characters so some data might be truncated.
Пример 2. Отправка всех успешных данных потока в файл
В этом примере все успешные потоковые данные отправляются в файл с именем script.log .
Ширина выходных данных при записи в файл
При записи в файл с помощью Out-File или операторов перенаправления PowerShell преобразует выходные данные таблицы в файл на основе ширины консоли, в которой она выполняется. Например, при записи выходных данных таблицы в файл с помощью команды, например Get-ChildItem Env:\Path > path.log в системе, в которой ширина консоли равна 80 столбцам, выходные данные в файле усекаются до 80 символов:
Учитывая, что ширина консоли может быть задана произвольным образом на системах, где выполняется сценарий, вы можете предпочесть, чтобы формат PowerShell был выводить файлы таблицы в соответствии с заданной заданной шириной.
Out-File Командлет предоставляет параметр Width , позволяющий задать ширину для вывода в таблицу. Вместо того, чтобы добавлять -Width 2000 все при вызове Out-File , можно использовать $PSDefaultParameterValues переменную, чтобы задать это значение для всех использований Out-File командлета в скрипте. А поскольку операторы перенаправления ( > и >> ) фактически являются псевдонимами для Out-File , установка Out-File:Width параметра для всего скрипта влияет также на ширину форматирования для операторов перенаправления. Добавьте следующую команду в начало скрипта, чтобы задать Out-File:Width для всего скрипта:
Увеличение ширины выходных данных приведет к увеличению потребления памяти при регистрации выходных данных в табличном формате. Если вы записываете в файл большой объем табличных данных и вы уверены, что можете сделать это с меньшей шириной, используйте меньшую ширину.
В некоторых случаях, например Get-Service в выходных данных, чтобы использовать дополнительную ширину, необходимо передать выходные данные Format-Table -AutoSize перед выводом в файл.
Дополнительные сведения о $PSDefaultParameterValues см. в разделе about_Preference_Variables.
Подробное описание
Для перенаправления выходных данных можно использовать следующие методы:
Out-File Используйте командлет, который отправляет выходные данные команды в текстовый файл. Как правило, командлет используется Out-File , когда необходимо использовать параметры, такие как Encoding , Force Width , или NoClobber .
Tee-Object Используйте командлет, который отправляет выходные данные команды в текстовый файл и отправляет его в конвейер.
Используйте операторы перенаправления PowerShell. Использование оператора перенаправления с целевым объектом файла функционально эквивалентно конвейеру Out-File без дополнительных параметров.
Дополнительные сведения о потоках см. в разделе about_Output_Streams.
Пример 5. Отключение всех данных Write-Host и информационных потоков
В этом примере подавляются все данные потока информации. Дополнительные сведения о командлетах информационного потока см. в статье Write-Host и Write-Information .
Examples
Выходные данные консоли (Out-Host)
По умолчанию Windows PowerShell отправляет данные в основное окно, именно это и делает командлет Out-Host . Основная функция командлета Out-Host — разбиение на страницы. Например, следующая команда использует Out-Host для разбиения выходных данных командлета Get-Command на страницы:
Отображение основного окна выходит за пределы Windows PowerShell. Это важно, так как при отправке данных из Windows PowerShell они фактически удаляются. Это можно увидеть, если попытаться создать конвейер, выводящий страницы данных в основное окно, а затем попробовать отформатировать их в виде списка, как показано ниже:
Можно ожидать, что команда отобразит страницы сведений о процессах в формате списка. Вместо этого она отображает табличный список по умолчанию:
Командлет Out-Host отправляет данные непосредственно в консоль, поэтому команда Format-List не получает ничего для форматирования.
Правильный способ использования этой команды заключается в том, чтобы поместить командлет Out-Host в конце конвейера, как показано ниже. В результате перед разбиением на страницы и отображением данные процессов форматируются в виде списка.
Это касается всех командлетов Out. Командлет Out должен всегда находиться в конце конвейера.
Все командлеты Out отображают выходные данные в виде текста, используя при этом действующее в окне консоли форматирование, включая ограничения длины строки.
Примеры
Пример 1. ошибки перенаправления и выходные данные в файл
Этот пример выполняется dir на одном элементе, который будет выполнен, и один из которых будет иметь ошибку.
Он использует 2>&1 для перенаправления потока ошибок в поток успешного выполнения и > отправки результирующего потока успешного выполнения в файл с именем. dir.log
Примечания
Операторы перенаправления, которые не добавляют данные ( > и n> ) перезаписывают текущее содержимое указанного файла без предупреждения.
Однако если файл доступен только для чтения, является скрытым или системным файлом, перенаправление завершается ошибкой. Операторы добавления перенаправления ( >> и n>> ) не записывают в файл, доступный только для чтения, но добавляют содержимое в системный или скрытый файл.
Для принудительного перенаправления содержимого в скрытый или системный файл только для чтения используйте Out-File командлет со своим Force параметром.
При записи в файлы операторы перенаправления используют UTF8NoBOM кодировку. Если файл имеет другую кодировку, выходные данные могут быть неправильно отформатированы. Для записи в файлы с другой кодировкой используйте Out-File командлет с его Encoding параметром.
Example 2: Prevent an existing file from being overwritten
This example prevents an existing file from being overwritten. By default, Out-File overwrites existing files.
The Get-Process cmdlet gets the list of processes running on the local computer. The Process objects are sent down the pipeline to the Out-File cmdlet. Out-File uses the FilePath parameter and attempts to write to a file in the current directory named Process.txt. The NoClobber parameter prevents the file from being overwritten and displays a message that the file already exists.
Parameters
Adds the output to the end of an existing file.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the type of encoding for the target file. The default value is utf8NoBOM .
The acceptable values for this parameter are as follows:
- ascii : Uses the encoding for the ASCII (7-bit) character set.
- bigendianunicode : Encodes in UTF-16 format using the big-endian byte order.
- bigendianutf32 : Encodes in UTF-32 format using the big-endian byte order.
- oem : Uses the default encoding for MS-DOS and console programs.
- unicode : Encodes in UTF-16 format using the little-endian byte order.
- utf7 : Encodes in UTF-7 format.
- utf8 : Encodes in UTF-8 format.
- utf8BOM : Encodes in UTF-8 format with Byte Order Mark (BOM)
- utf8NoBOM : Encodes in UTF-8 format without Byte Order Mark (BOM)
- utf32 : Encodes in UTF-32 format.
UTF-7* is no longer recommended to use. As of PowerShell 7.1, a warning is written if you specify utf7 for the Encoding parameter.
Type: | Encoding |
Accepted values: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
Position: | 1 |
Default value: | UTF8NoBOM |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the path to the output file.
Type: | String |
Aliases: | Path |
Position: | 0 |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Overrides the read-only attribute and overwrites an existing read-only file. The Force parameter does not override security restrictions.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the objects to be written to the file. Enter a variable that contains the objects or type a command or expression that gets the objects.
Type: | PSObject |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Specifies the path to the output file. The LiteralPath parameter is used exactly as it is typed. Wildcard characters are not accepted. If the path includes escape characters, enclose it in single quotation marks. Single quotation marks tell PowerShell not to interpret any characters as escape sequences. For more information, see about_Quoting_Rules.
Type: | String |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
NoClobber prevents an existing file from being overwritten and displays a message that the file already exists. By default, if a file exists in the specified path, Out-File overwrites the file without warning.
Type: | SwitchParameter |
Aliases: | NoOverwrite |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies that the content written to the file does not end with a newline character. The string representations of the input objects are concatenated to form the output. No spaces or newlines are inserted between the output strings. No newline is added after the last output string.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Shows what would happen if the cmdlet runs. The cmdlet is not run.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the number of characters in each line of output. Any additional characters are truncated, not wrapped. If this parameter is not used, the width is determined by the characteristics of the host. The default for the PowerShell console is 80 characters. If you want to control the width for all invocations of Out-File as well as the redirection operators ( > and >> ), set $PSDefaultParameterValues['out-file:width'] = 2000 before using Out-File .
Type: | Int32 |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Example 1: Send output and create a file
This example shows how to send a list of the local computer's processes to a file. If the file does not exist, Out-File creates the file in the specified path.
The Get-Process cmdlet gets the list of processes running on the local computer. The Process objects are sent down the pipeline to the Out-File cmdlet. Out-File uses the FilePath parameter and creates a file in the current directory named Process.txt. The Get-Content command gets content from the file and displays it in the PowerShell console.
Выходные данные
Нет
Out-File не создает выходные данные.
Пример 4. перенаправление всех потоков в файл
Этот пример отправляет все выходные данные из скрипта, вызываемого script.ps1 в файл с именем script.log
Example 4: Use a provider and send output to a file
This example shows how to use the Out-File cmdlet when you are not in a FileSystem provider drive. Use the Get-PSProvider cmdlet to view the providers on your local computer. For more information, see about_Providers.
The Set-Location command uses the Path parameter to set the current location to the registry provider Alias: . The Get-Location cmdlet displays the complete path for Alias: . Get-ChildItem sends objects down the pipeline to the Out-File cmdlet. Out-File uses the FilePath parameter to specify the complete path and filename for the output, C:\TestDir\AliasNames.txt. The Get-Content cmdlet uses the Path parameter and displays the file's content in the PowerShell console.
Печать данных (Out-Printer)
Параметры
Добавляет выходные данные в конец существующего файла. Если кодировка не указана, командлет использует кодировку по умолчанию. Эта кодировка может не соответствовать кодировке целевого файла. Это то же поведение, что и оператор перенаправления ( >> ).
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Запрос подтверждения перед выполнением командлета.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Указывает тип кодировки для целевого файла. Значение по умолчанию — unicode .
Допустимые значения для этого параметра:
- ascii Использует набор символов ASCII (7-разрядный).
- bigendianunicode Использует UTF-16 с порядком байтов большого байта.
- default Использует кодировку, соответствующую активной кодовой странице системы (обычно ANSI).
- oem Использует кодировку, соответствующую текущей кодовой странице OEM системы.
- string аналогичен unicode .
- unicode Использует UTF-16 с порядком байтов с маленьким порядком байтов.
- unknown аналогичен unicode .
- utf7 Использует UTF-7.
- utf8 Использует UTF-8.
- utf32 Использует UTF-32 с порядком байтов с маленьким порядком байтов.
Указывает путь к выходному файлу.
Type: | String |
Position: | 0 |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Переопределяет атрибут только для чтения и перезаписывает существующий файл только для чтения. Параметр Force не переопределяет ограничения безопасности.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Указывает объекты, которые нужно записать в файл. Введите переменную, которая содержит объекты, или команду или выражение, которое возвращает объекты.
Type: | PSObject |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Указывает путь к выходному файлу. Параметр LiteralPath используется точно так же, как он вводится. Подстановочные знаки не принимаются. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки сообщают PowerShell, что никакие символы не интерпретируются как escape-последовательности. Дополнительные сведения см. в разделе about_Quoting_Rules.
Type: | String |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Type: | SwitchParameter |
Aliases: | NoOverwrite |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Указывает, что содержимое, записанное в файл, не заканчивается символом новой строки. Строковые представления входных объектов объединяются для формирования выходных данных. Пробелы или новые строки не вставляются между выходными строками. Новая строка не добавляется после последней выходной строки.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Показывает, что произойдет при запуске командлета. Командлет не выполняется.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Указывает количество символов в каждой строке выходных данных. Все остальные знаки отсекаются, а не переносятся на следующую строку. Если этот параметр не используется, ширина определяется характеристиками узла. По умолчанию для консоли PowerShell используется 80 символов. Если вы хотите управлять шириной для всех вызовов, а также операторов Out-File перенаправления ( > и >> ), задайте $PSDefaultParameterValues['out-file:width'] = 2000 перед использованием Out-File .
Type: | Int32 |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Вы можете передать любой объект в Out-File .
Пример 4. Использование поставщика и отправка выходных данных в файл
В этом примере показано, как использовать Out-File командлет, если вы не находитесь на диске поставщика FileSystem . Get-PSProvider Используйте командлет для просмотра поставщиков на локальном компьютере. Дополнительные сведения см. в разделе about_Providers.
Команда Set-Location использует параметр Path , чтобы задать текущее расположение поставщику Alias: реестра. Командлет Get-Location отображает полный путь для Alias: . Get-ChildItem отправляет объекты вниз по конвейеру Out-File в командлет. Out-File использует параметр FilePath , чтобы указать полный путь и имя файла для выходных данных ,C:\TestDir\AliasNames.txt. Командлет Get-Content использует параметр Path и отображает содержимое файла в консоли PowerShell.
Примечания
Out-File сохраняет данные в файл, но не создает выходные объекты в конвейере.
Windows PowerShell предоставляет несколько командлетов, позволяющих напрямую управлять выходными данными. Эти командлеты обладают двумя важными характеристиками.
Во-первых, в общем случае они преобразуют данные в некоторую форму текста. Это вызвано тем, что они выводят данные в системные компоненты, принимающие текстовые входные данные. Поэтому они должны представлять объекты в виде текста. Таким образом, текст форматируется в том виде, в котором отображается в окне консоли Windows PowerShell.
Во-вторых, эти командлеты используют глагол Out Windows PowerShell, так как отправляют сведения из Windows PowerShell в другое место.
Пример 6. Отображение влияния настроек действий
Переменные и параметры настройки действия могут изменять содержимое, записываемое в определенный поток. Скрипт в этом примере показывает, как значение $ErrorActionPreference влияет на то, что записывается в поток ошибок .
При выполнении этого скрипта выводится запрос, когда $ErrorActionPreference для Inquire параметра задано значение.
При изучении файла журнала мы увидим следующее:
Пример 3. Передача в файл успешных, предупреждающих и ошибочных потоков
В этом примере показано, как можно комбинировать операторы перенаправления для достижения желаемого результата.
- 3>&1 перенаправляет поток предупреждений в поток успешного выполнения .
- 2>&1 перенаправляет поток ошибок в поток успешного выполнения (который также включает все данные потока предупреждений ).
- > перенаправляет поток успешного выполнения (который теперь содержит потоки предупреждений и ошибок ) в файл с именем C:\temp\redirection.log ).
Пример 3. Отправка выходных данных в файл в формате ASCII
В этом примере показано, как кодировать выходные данные с определенным типом кодирования.
Командлет Get-Process получает список процессов, выполняемых на локальном компьютере. Объекты Process хранятся в переменной $Procs . Out-File использует параметр FilePath и создает файл в текущем каталоге с именем Process.txt. Параметр InputObject передает объекты процесса в $Procs файл Process.txt. Параметр кодирования преобразует выходные данные в формат ASCII . Параметр Width ограничивает каждую строку в файле до 50 символов, чтобы некоторые данные могли быть усечены.
Inputs
You can pipe any object to Out-File .
Потенциальная путаница с операторами сравнения
> Оператор не следует путать с оператором сравнения " больше " (часто обозначается как > в других языках программирования).
В зависимости от сравниваемых объектов выходные данные > могут выглядеть правильными (поскольку 36 не превышает 42).
Однако проверка локальной файловой системы может видеть, что файл с именем 42 был записан с содержимым 36 .
Попытка использовать обратные сравнения < (меньше) приводит к системной ошибке:
Значение, -lt Если числовое сравнение является обязательной операцией и -gt должно использоваться. Дополнительные сведения см. в описании -gt оператора в about_Comparison_Operators.
Командлет Out-File отправляет выходные данные в файл. Она неявно использует систему форматирования PowerShell для записи в файл. Файл получает то же отображаемое представление, что и терминал. Это означает, что выходные данные могут не быть идеальными для программной обработки, если все входные объекты не являются строками. Если необходимо указать параметры для выходных данных, используйте Out-File вместо оператора перенаправления ( > ). Дополнительные сведения о перенаправлении см. в about_Redirection.
Примеры
Пример 1. Отправка выходных данных и создание файла
Командлет Get-Process получает список процессов, выполняемых на локальном компьютере. Объекты Process отправляются в конвейер Out-File в командлет. Out-File использует параметр FilePath и создает файл в текущем каталоге с именем Process.txt. Команда Get-Content получает содержимое из файла и отображает его в консоли PowerShell.
Пример 2. Предотвращение перезаписи существующего файла
Этот пример предотвращает перезапись существующего файла. По умолчанию Out-File перезаписывает существующие файлы.
Notes
Input objects are automatically formatted as they would be in the terminal, but you can use a Format-* cmdlet to explicitly control the formatting of the output to the file. For example, Get-Date | Format-List | Out-File out.txt
To send a PowerShell command's output to the Out-File cmdlet, use the pipeline. Alternatively, you can store data in a variable and use the InputObject parameter to pass data to the Out-File cmdlet.
Out-File saves data to a file but it does not produce any output objects to the pipeline.
Объясняется, как перенаправлять выходные данные из PowerShell в текстовые файлы.
Outputs
None
Out-File does not generate any output.
Example 5: Set file output width for entire scope
This example uses $PSDefaultParameterValues to set the Width parameter for all invocations of Out-File and the redirection operartors ( > and >> ) to 2000. This is an easy way to ensure that everywhere in a scope you output table formatted data to file, PowerShell will use a line width of 2000 instead of a line width determined by the PowerShell host's console width.
For more information about $PSDefaultParameterValues , see about_Preference_Variables.
Операторы перенаправления PowerShell
Ниже приведены операторы перенаправления PowerShell, где n представляет номер потока. Если поток не указан, по умолчанию используется поток Success ( 1 ).
Сохранение данных (Out-File)
Результаты использования командлета Out-File могут отличаться от ожидаемых, если вы привыкли к стандартному перенаправлению выходных данных. Чтобы понять поведение командлета Out-File , необходимо помнить о контексте его выполнения.
По умолчанию командлет Out-File создает файл в кодировке Юникод. В долгосрочной перспективе это лучший вариант по умолчанию, однако при нем средства, ожидающие файлы в кодировке ASCII, будут работать неправильно. Формат вывода по умолчанию можно изменить на ASCII с помощью параметра Encoding:
Out-file форматирует содержимое файлов, чтобы оно было похоже на выходные данные консоли. В результате выходные данные усекаются, как в большинстве случаев и происходит в окне консоли. Например, если выполнить следующую команду:
Выходные данные будут выглядеть следующим образом:
Чтобы получить выходные данные без принудительных переносов по словам по ширине экрана, можно использовать параметр Width для указания ширины строки. Так как параметр Width — это 32-разрядное целое число, его максимальное значение равно 2147483647. Введите следующую команду, чтобы установить ширину строки в максимальное значение:
Командлет Out-File наиболее полезен, если требуется сохранить выходные данные в том виде, в котором они отображались бы на консоли. Для более точного управления форматом выходных данных требуются более сложные средства. Мы рассмотрим их в следующей главе, где приведены и дополнительные сведения о работе с объектами.
Есть задача вставить текстовую строку в определенное место текстового файла. Сделать это можно множеством различных способов, в том числе и с помощью PowerShell. О том, как именно, и пойдет речь далее.
Итак, в папке C:\temp находится текстовый файл file.txt. Для начала выведем его содержимое командой:
В файле всего 5 строк и нам необходимо вставить дополнительную строку между третьей и четвертой. Действовать будем следующим образом:
Сначала возьмем исходный файл и поместим его содержимое в переменную. Команда Get-Content выгружает текстовый файл в виде массива, в котором элементами являются строки. Таким образом в переменной $FileOriginal мы получим массив строк:
$FileName = ″C:\temp\file.txt″
$FileOriginal = Get-Content $FileName
Затем создадим еще один массив строк, пустой:
Строку, которую необходимо вставить, помещаем в переменную:
[String]$string = ″String three and half.″
Теперь берем исходный массив $FileOriginal и в цикле построчно передаем его в новый массив $FileModified, попутно проверяя каждую строку. Если строка соответствует заданному условию, то после нее вставляется дополнительная строка:
Foreach ($Line in $FileOriginal) <
$FileModified += $Line
if ($Line -match ″three″)
>
Ну и в заключение мы берем получившийся массив и записываем его в исходный файл, перезаписывая его.
Set-Content $fileName $FileModified -Force
Все это сохраняем в виде скрипта, запускаем его и получаем вот такой результат.
Если требуется вставить несколько строк, то можно немного изменить скрипт. С помощью конструкции Here-Strings добавим несколько строк в переменную $strings и уже эту переменную будем вставлять в текст:
$FileName = ″C:\temp\file.txt″
$FileOriginal = Get-Content $FileName
[String[]]$FileModified = @()
$strings = @″
String three and quarter.
String three and half.
″@
Foreach ($Line in $FileOriginal) <
$FileModified += $Line
if ($Line -match ″three″)
>
Set-Content $fileName $FileModified -Force
Получится примерно так.
И еще один возможный случай, когда надо не просто вставить новый текст, а заменить существующий. Для этого можно воспользоваться свойством Replace строки. Еще раз изменим скрипт:
$FileName = ″C:\temp\file.txt″
$FileOriginal = Get-Content $FileName
[String[]]$FileModified = @()
[String]$string = ″String three and half.″
Пример 5. Настройка ширины выходных данных файла для всей области
В этом примере используется $PSDefaultParameterValues для задания Width параметра для всех вызовов и операрторов Out-File перенаправления ( > и >> ) значение 2000. Это простой способ убедиться, что в любой точке области, в которую вы выводите форматированные данные в файл, PowerShell будет использовать ширину строки 2000 вместо ширины строки, определяемой шириной консоли узла PowerShell.
Дополнительные сведения см. в $PSDefaultParameterValues разделе about_Preference_Variables.
Перенаправляемые выходные потоки
PowerShell поддерживает перенаправление следующих выходных потоков.
В PowerShell также присутствует поток хода выполнения , но он не поддерживает перенаправление.
Потоки успехов и ошибок похожи на потоки stdout и stderr других оболочек. Однако stdin не подключен к конвейеру PowerShell для ввода данных.
Читайте также: