[玩转系统] Out-File (Microsoft.PowerShell.Utility)
作者:精品下载站 日期:2024-12-14 02:04:53 浏览:13 分类:玩电脑
Out-File (Microsoft.PowerShell.Utility)
Out-File
模块 :Microsoft.PowerShell.Utility将输出发送到文件。
句法
Out-File
[-FilePath] <string>
[[-Encoding] <Encoding>]
[-Append]
[-Force]
[-NoClobber]
[-Width <int>]
[-NoNewline]
[-InputObject <psobject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Out-File
[[-Encoding] <Encoding>]
-LiteralPath <string>
[-Append]
[-Force]
[-NoClobber]
[-Width <int>]
[-NoNewline]
[-InputObject <psobject>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
描述
Out-File
cmdlet 将输出发送到文件。它隐式使用 PowerShell 的格式化系统来写入文件。文件接收与终端相同的显示表示。这意味着除非所有输入对象都是字符串,否则输出可能不适合编程处理。
使用重定向运算符 (>
) 重定向 PowerShell 命令(cmdlet、函数、脚本)的输出在功能上等同于通过管道传输到 Out-File
,无需额外参数。 PowerShell 7.4 更改了重定向运算符在用于重定向本机命令的 stdout 流时的行为。有关重定向的更多信息,请参阅 about_Redirection。
示例
示例 1:发送输出并创建文件
此示例演示如何将本地计算机的进程列表发送到文件。如果该文件不存在,Out-File
将在指定路径中创建该文件。
Get-Process | Out-File -FilePath .\Process.txt
Get-Content -Path .\Process.txt
NPM(K) PM(M) WS(M) CPU(s) Id SI ProcessName
------ ----- ----- ------ -- -- -----------
29 22.39 35.40 10.98 42764 9 Application
53 99.04 113.96 0.00 32664 0 CcmExec
27 96.62 112.43 113.00 17720 9 Code
Get-Process
cmdlet 获取本地计算机上运行的进程列表。 Process 对象沿着管道发送到 Out-File
cmdlet。 Out-File
使用FilePath 参数并在当前目录中创建一个名为Process.txt 的文件。 Get-Content
命令从文件中获取内容并将其显示在 PowerShell 控制台中。
示例 2:防止现有文件被覆盖
此示例防止现有文件被覆盖。默认情况下,Out-File
会覆盖现有文件。
Get-Process | Out-File -FilePath .\Process.txt -NoClobber
Out-File : The file 'C:\Test\Process.txt' already exists.
At line:1 char:15
+ Get-Process | Out-File -FilePath .\Process.txt -NoClobber
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Get-Process
cmdlet 获取本地计算机上运行的进程列表。 Process 对象沿着管道发送到 Out-File
cmdlet。 Out-File
使用 FilePath 参数并尝试写入当前目录中名为 Process.txt 的文件。 NoClobber 参数可防止文件被覆盖并显示一条消息,表明该文件已存在。
示例 3:将输出发送到 ASCII 格式的文件
此示例演示如何使用特定编码类型对输出进行编码。
$Procs = Get-Process
Out-File -FilePath .\Process.txt -InputObject $Procs -Encoding ASCII -Width 50
Get-Process
cmdlet 获取本地计算机上运行的进程列表。 Process 对象存储在变量 $Procs
中。 Out-File
使用FilePath 参数并在当前目录中创建一个名为Process.txt 的文件。 InputObject 参数将 $Procs
中的流程对象传递到文件 Process.txt。 Encoding 参数将输出转换为ASCII 格式。 宽度参数将文件中的每行限制为 50 个字符,因此某些数据可能会被截断。
示例 4:使用提供程序并将输出发送到文件
此示例演示当您不在 FileSystem 提供程序驱动器中时如何使用 Out-File
cmdlet。使用 Get-PSProvider
cmdlet 查看本地计算机上的提供程序。有关详细信息,请参阅 about_Providers。
PS> Set-Location -Path Alias:
PS> Get-Location
Path
----
Alias:\
PS> Get-ChildItem | Out-File -FilePath C:\TestDir\AliasNames.txt
PS> Get-Content -Path C:\TestDir\AliasNames.txt
CommandType Name
----------- ----
Alias % -> ForEach-Object
Alias ? -> Where-Object
Alias ac -> Add-Content
Alias cat -> Get-Content
Set-Location
命令使用 Path 参数将当前位置设置为注册表提供程序Alias:
。 Get-Location
cmdlet 显示Alias:
的完整路径。 Get-ChildItem
将对象沿着管道发送到 Out-File
cmdlet。 Out-File
使用 FilePath 参数指定输出的完整路径和文件名 C:\TestDir\AliasNames.txt。 Get-Content
cmdlet 使用Path 参数并在 PowerShell 控制台中显示文件的内容。
示例 5:设置整个范围的文件输出宽度
此示例使用 $PSDefaultParameterValues
为所有 Out-File
调用和重定向操作符 () 设置 Width
参数> 和 >>
) 到 2000。这可确保在当前范围内将表格式数据输出到文件的任何位置,PowerShell 使用 2000 的行宽,而不是由 PowerShell 主机控制台确定的行宽宽度。
function DemoDefaultOutFileWidth() {
try {
$PSDefaultParameterValues['out-file:width'] = 2000
$logFile = "$pwd\logfile.txt"
Get-ChildItem Env:\ > $logFile
Get-Service -ErrorAction Ignore |
Format-Table -AutoSize |
Out-File $logFile -Append
Get-Process | Format-Table Id,SI,Name,Path,MainWindowTitle >> $logFile
}
finally {
$PSDefaultParameterValues.Remove('out-file:width')
}
}
DemoDefaultOutFileWidth
有关 $PSDefaultParameterValues
的详细信息,请参阅 about_Preference_Variables。
参数
-Append
将输出添加到现有文件的末尾。
类型 :SwitchParameter
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-Confirm
在运行 cmdlet 之前提示您进行确认。
类型 :SwitchParameter
别名:cf
位置:命名
默认值:False
必需的:False
接受管道输入:False
接受通配符:False
-Encoding
指定目标文件的编码类型。默认值为 utf8NoBOM
。
该参数可接受的值如下:
ascii
:使用 ASCII(7 位)字符集的编码。ansi
:使用当前区域性的 ANSI 代码页的编码。此选项是在 PowerShell 7.4 中添加的。bigendianunicode
:使用 big-endian 字节顺序以 UTF-16 格式进行编码。bigendianutf32
:使用 big-endian 字节顺序以 UTF-32 格式进行编码。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,而无需手动指定。
笔记
不再建议使用UTF-7*。从 PowerShell 7.1 开始,如果为 Encoding 参数指定 utf7
,则会写入警告。
编码
接受的值:ASCII、BigEndianUnicode、BigEndianUTF32、OEM、Unicode、UTF7、UTF8、UTF8BOM、UTF8NoBOM、UTF32
位置:1
默认值:UTF8无BOM
必需的:False
接受管道输入:False
接受通配符:False
-FilePath
指定输出文件的路径。
类型 :String
别名:Path
位置:0
默认值:None
必需的:True
接受管道输入:False
接受通配符:False
-Force
覆盖只读属性并覆盖现有的只读文件。 Force 参数不会覆盖安全限制。
类型 :SwitchParameter
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-InputObject
指定要写入文件的对象。输入包含对象的变量或键入获取对象的命令或表达式。
类型 :PS对象
位置:命名
默认值:None
必需的:False
接受管道输入:True
接受通配符:False
-LiteralPath
指定输出文件的路径。 LiteralPath 参数的使用与键入时完全相同。不接受通配符。如果路径包含转义字符,请将其用单引号引起来。单引号告诉 PowerShell 不要将任何字符解释为转义序列。有关更多信息,请参阅 about_Quoting_Rules。
类型 :String
别名:PSPath, LP
位置:命名
默认值:None
必需的:True
接受管道输入:True
接受通配符:False
-NoClobber
NoClobber 防止现有文件被覆盖并显示文件已存在的消息。默认情况下,如果指定路径中存在文件,Out-File
将覆盖该文件而不发出警告。
SwitchParameter
别名:NoOverwrite
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-NoNewline
指定写入文件的内容不以换行符结尾。输入对象的字符串表示形式被连接以形成输出。输出字符串之间不插入空格或换行符。最后一个输出字符串后不添加换行符。
类型 :SwitchParameter
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-WhatIf
显示 cmdlet 运行时会发生什么情况。该 cmdlet 未运行。
类型 :SwitchParameter
别名:wi
位置:命名
默认值:False
必需的:False
接受管道输入:False
接受通配符:False
-Width
指定每行输出中的最大字符数。任何附加字符都会被截断,而不是换行。如果不使用该参数,则宽度由主机的特性决定。 PowerShell 控制台的默认值是 80 个字符。如果要控制 Out-File
的所有调用以及重定向运算符(>
和 >>
)的宽度,请设置
猜你还喜欢
- 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