[玩转系统] Tee-Object (Microsoft.PowerShell.Utility)
作者:精品下载站 日期:2024-12-14 02:03:16 浏览:16 分类:玩电脑
Tee-Object (Microsoft.PowerShell.Utility)
Tee-Object
模块 :Microsoft.PowerShell.Utility将命令输出保存在文件或变量中,并将其发送到管道中。
句法
Tee-Object
[-InputObject <PSObject>]
[-FilePath] <String>
[-Append]
[[-Encoding] <Encoding>]
[<CommonParameters>]
Tee-Object
[-InputObject <PSObject>]
-LiteralPath <String>
[[-Encoding] <Encoding>]
[<CommonParameters>]
Tee-Object
[-InputObject <PSObject>]
-Variable <String>
[<CommonParameters>]
描述
Tee-Object
cmdlet 重定向输出,也就是说,它向两个方向发送命令的输出(如字母 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
cmdlet 选择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
cmdlet 对 D: 驱动器上的系统文件进行递归搜索。管道运算符 (|
) 将列表发送到 Tee-Object
,后者将列表附加到 AllSystemFiles.txt 文件,并将列表沿着管道传递到 Out-File
cmdlet,它将列表保存在 NewSystemFiles.txt 文件
中。
示例 4:将输出打印到控制台并在管道中使用
此示例获取文件夹中的文件,将它们打印到控制台,然后过滤文件以查找具有已定义的前文元数据块的文件。最后,它列出了具有标题的文章的名称。
$consoleDevice = if ($IsWindows) {
'\.\CON'
} else {
'/dev/tty'
}
$frontMatterPattern = '(?s)^---(?<FrontMatter>.+)---'
$articles = Get-ChildItem -Path .\reference.4\PSReadLine\About\ |
Tee-Object -FilePath $consoleDevice |
Where-Object {
(Get-Content $_ -Raw) -match $frontMatterPattern
}
$articles.Name
Directory: C:\code\docs\PowerShell-Docs\reference.4\PSReadLine\About
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 12/13/2022 11:37 AM 384 .markdownlint.yaml
-a--- 4/25/2023 11:28 AM 40194 about_PSReadLine_Functions.md
-a--- 4/25/2023 10:58 AM 10064 about_PSReadLine.md
about_PSReadLine_Functions.md
about_PSReadLine.md
该示例将 $consoleDevice
变量设置为当前终端控制台设备的值。在 Windows 上,您可以通过将输出重定向到 \.\CON
文件路径来写入当前控制台设备。在非 Windows 系统上,您使用 /dev/tty
文件路径。
然后,它将 $frontMatterPattern
变量设置为正则表达式,当字符串以三个破折号 (---
) 开头并且在另外三个破折号之前有任何内容时,该正则表达式会匹配。当此模式与文章的内容匹配时,该文章就具有定义的前文元数据块。
接下来,该示例使用 Get-ChildItem
检索 About
文件夹中的每个文件。 Tee-Object
使用 FileName 参数将管道结果打印到控制台。 Where-Object
通过使用 Get-Content
的 Raw 参数将文件内容作为单个字符串获取并将该字符串与 进行比较来过滤文件>$frontMatterPattern
。
最后,该示例打印文件夹中具有定义的前事项元数据块的文件的名称。
参数
-Append
指示 cmdlet 将输出附加到指定文件。如果没有此参数,新内容将替换文件中的任何现有内容,而不发出警告。
此参数是在 Windows PowerShell 3.0 中引入的。
类型 :SwitchParameter
位置:命名
默认值:False
必需的:False
接受管道输入:False
接受通配符:False
-Encoding
指定目标文件的编码类型。默认值为 utf8NoBOM
。
该参数可接受的值如下:
ascii
:使用 ASCII(7 位)字符集的编码。ansi
:使用当前区域性的 ANSI 代码页的编码。此选项是在 PowerShell 7.4 中添加的。bigendianunicode
:使用 big-endian 字节顺序以 UTF-16 格式进行编码。oem
:使用 MS-DOS 和控制台程序的默认编码。unicode
:使用小端字节顺序以 UTF-16 格式进行编码。utf7
:以UTF-7格式编码。utf8
:以UTF-8格式编码。utf8BOM
:使用字节顺序标记 (BOM) 以 UTF-8 格式进行编码utf8NoBOM
:以 UTF-8 格式编码,不带字节顺序标记 (BOM)utf32
:以 UTF-32 格式编码。
从 PowerShell 6.2 开始,Encoding 参数还允许使用注册代码页的数字 ID(例如 -Encoding 1251
)或注册代码页的字符串名称(例如 -Encoding “windows-1251”
)。有关详细信息,请参阅 Encoding.CodePage 的 .NET 文档。
从 PowerShell 7.4 开始,您可以使用 Encoding 参数的 Ansi
值来传递当前区域性 ANSI 代码页的数字 ID,而无需手动指定。
此参数是在 PowerShell 7.2 中引入的。
笔记
不再建议使用UTF-7*。从 PowerShell 7.1 开始,如果为 Encoding 参数指定 utf7
,则会写入警告。
编码
接受的值:ASCII、BigEndianUnicode、OEM、Unicode、UTF7、UTF8、UTF8BOM、UTF8NoBOM、UTF32
位置:1
默认值:UTF8无BOM
必需的:False
接受管道输入:False
接受通配符:False
-FilePath
指定此 cmdlet 将对象保存到的文件 允许使用通配符,但必须解析为单个文件。
从 PowerShell 7 开始,当您将 FilePath 指定为 Windows 上的 \.\CON
或非 Windows 系统上的 /dev/tty
时, InputObject 打印在控制台中。这些文件路径对应于系统上当前终端的控制台设备,使您能够打印 InputObject 并使用一个命令将其发送到输出流。
String
别名:Path
位置:0
默认值:None
必需的:True
接受管道输入:False
接受通配符:True
-InputObject
指定要保存和显示的对象。输入包含对象的变量或键入获取对象的命令或表达式。您还可以通过管道将对象传递给 Tee-Object
。
当您将 InputObject 参数与 Tee-Object
一起使用时,不是通过管道将命令结果传送到 Tee-Object
,InputObject > 即使该值是一个集合,该值也被视为单个对象。
PS对象
位置:命名
默认值:None
必需的:False
接受管道输入:True
接受通配符:False
-LiteralPath
指定此 cmdlet 将对象保存到的文件。与 FilePath 不同,LiteralPath 参数的值完全按照键入的值使用。没有字符被解释为通配符。如果路径包含转义字符,请将其用单引号引起来。单引号告诉 PowerShell 不要将任何字符解释为转义序列。
类型 :String
别名:PSPath, LP
位置:命名
默认值:None
必需的:True
接受管道输入:False
接受通配符:False
-Variable
指定 cmdlet 将对象保存到的变量。输入前面不带美元符号 ($
) 的变量名称。
String
位置:命名
默认值:None
必需的:True
接受管道输入:False
接受通配符:False
输入
PSObject
您可以通过管道将对象传递到此 cmdlet。
输出
PSObject
此 cmdlet 返回它重定向的对象。
笔记
PowerShell 包含以下 Tee-Object
别名:
Windows:
tee
您还可以使用 Out-File
cmdlet 或重定向运算符,这两种方法都将输出保存在文件中,但不将其发送到管道中。
从 PowerShell 6 开始,Tee-Object
在写入文件时使用无 BOM UTF-8 编码。如果您需要不同的编码,请使用带有 Encoding 参数的 Out-File
cmdlet。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag