Tee-Object
Сохраняет выходные данные команды в файле или переменной, а также отправляет его вниз по конвейеру.
Синтаксис
File (по умолчанию)
Tee-Object
[-FilePath] <String>
[-InputObject <PSObject>]
[-Append]
[<CommonParameters>]
LiteralFile
Tee-Object
-LiteralPath <String>
[-InputObject <PSObject>]
[<CommonParameters>]
Variable
Tee-Object
-Variable <String>
[-InputObject <PSObject>]
[<CommonParameters>]
Описание
Командлет Tee-Object
перенаправляет выходные данные, то есть отправляет выходные данные команды в двух направлениях (например, буква T). Он сохраняет выходные данные в файле или переменной, а также отправляет его по конвейеру. Если Tee-Object
это последняя команда в конвейере, выходные данные команды отображаются в командной строке.
Примеры
Пример 1. Выходные процессы в файл и консоль
Этот пример получает список процессов, выполняемых на компьютере, и отправляет результат в файл. Так как второй путь не указан, процессы также отображаются в консоли.
Get-Process | Tee-Object -FilePath "C:\Test1\testfile2.txt"
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
83 4 2300 4520 39 0.30 4032 00THotkey
272 6 1400 3944 34 0.06 3088 alg
81 3 804 3284 21 2.45 148 ApntEx
81 4 2008 5808 38 0.75 3684 Apoint
...
Пример 2. Выходные процессы в переменную и select-Object
В этом примере получается список процессов, выполняемых на компьютере, сохраняет их в $proc
переменную и передает их Select-Object
в .
Get-Process notepad | Tee-Object -Variable proc | Select-Object ProcessName, Handles
ProcessName Handles
----------- -------
notepad 43
notepad 37
notepad 38
notepad 38
Командлет Select-Object
выбирает свойства ProcessName и Handles . Обратите внимание, что $proc
переменная содержит сведения по умолчанию, возвращаемые Get-Process
.
Пример 3. Выходные системные файлы в два файла журнала
В этом примере сохраняется список системных файлов в двух файлах журнала, накопительном файле и текущем файле.
Get-ChildItem -Path D: -File -System -Recurse |
Tee-Object -FilePath "C:\test\AllSystemFiles.txt" -Append |
Out-File C:\test\NewSystemFiles.txt
Команда использует Get-ChildItem
командлет для рекурсивного поиска системных файлов на диске D: . Оператор конвейера (|
) отправляет список Tee-Object
, в который добавляется список в файл AllSystemFiles.txt и передает список вниз по конвейеру Out-File
командлету, который сохраняет список в списке NewSystemFiles.txt file
.
Параметры
-Append
Указывает, что командлет добавляет выходные данные в указанный файл. Без этого параметра новое содержимое заменяет существующее содержимое в файле без предупреждения.
Этот параметр появился в Windows PowerShell 3.0.
Свойства параметра
Тип: | SwitchParameter |
Default value: | False |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
File
Position: | Named |
Обязательно: | False |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-FilePath
Указывает файл, который этот командлет сохраняет объект в подстановочные знаки, но должен разрешаться в один файл.
Свойства параметра
Тип: | String |
Default value: | None |
Поддерживаются подстановочные знаки: | True |
DontShow: | False |
Наборы параметров
File
Position: | 0 |
Обязательно: | True |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-InputObject
Указывает объект для сохранения и отображения. Введите переменную, содержащую объекты или введите команду или выражение, которое получает объекты. Можно также передать объект в Tee-Object
.
При использовании параметра InputObject с Tee-Object
результатами команды , а не с результатами piping, Tee-Object
значение InputObject обрабатывается как один объект, даже если значение является коллекцией.
Свойства параметра
Тип: | PSObject |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
(All)
Position: | Named |
Обязательно: | False |
Значение из конвейера: | True |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-LiteralPath
Указывает файл, в который этот командлет сохраняет объект. В отличие от FilePath, значение параметра LiteralPath используется точно так, как введено. Никакие символы не интерпретируются как подстановочные знаки. Если путь содержит escape-символы, заключите его в одинарные кавычки. Одинарные кавычки указывают PowerShell на то, что не следует интерпретировать какие-либо символы как управляющие последовательности.
Свойства параметра
Тип: | String |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Aliases: | PSPath |
Наборы параметров
LiteralFile
Position: | Named |
Обязательно: | True |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
-Variable
Указывает переменную, в которую командлет сохраняет объект. Введите имя переменной без предыдущего знака доллара ($
).
Свойства параметра
Тип: | String |
Default value: | None |
Поддерживаются подстановочные знаки: | False |
DontShow: | False |
Наборы параметров
Variable
Position: | Named |
Обязательно: | True |
Значение из конвейера: | False |
Значение из конвейера по имени свойства: | False |
Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Входные данные
PSObject
Объекты можно передать в этот командлет.
Выходные данные
PSObject
Этот командлет возвращает объект, который он перенаправляет.
Примечания
Windows PowerShell включает следующие псевдонимы для Tee-Object
:
tee
Можно также использовать Out-File
командлет или оператор перенаправления, оба из которых сохраняют выходные данные в файле, но не отправляют его в конвейер.
Tee-Object
использует кодировку Юникода (UTF-16LE) при записи в файлы. Если вам нужна другая кодировка, используйте Out-File
командлет с параметром кодирования .