Out-File 帮助信息

本文档介绍 PowerShell 中 Out-File 命令的使用方法,包括如何将输出发送到文件、设置文件编码及宽度等参数。通过实例演示如何避免文件覆盖、设置输出宽度等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如下说明是翻译: help Out-File 产生的帮助信息.
译者: Edengundam(马涛)
 
Out-File
 
大纲
将输出发送到文件.
 
语法
Out-File [-filePath] <string> [[-encoding] <string>] [-append] [-width <int>] [-inputObject <psobject>] [-force] [-noClobber] [-whatIf] [-confirm] [<CommonParameters>]
 
详细描述
Out-File cmdlet将输出发送到文件. 当你需要使用它的参数时, 你可以使用这个cmdlet代替重定向运算符(>).
 
参数
 
-filePath <string>
指定输出的文件路径.
 
强制参数?
true
参数位置?
1
默认值
 
允许从管道绑定输入?
false
允许通配符扩展?
false
 
-encoding <string>
指定文件使用的字符编码类型. 合法值为"Unicode", "UTF7", "UTF8", "UTF32", "ASCII", "BigEndianUnicode", "Default""OEM". 默认值为"Unicode".
 
·         "Default"使用系统当前ANSI代码页的编码.
·         "OEM"使用当前操作系统的原始系统制造商代码页描述符.
 
强制参数?
false
参数位置?
2
默认值
Unicode
允许从管道绑定输入?
false
允许通配符扩展?
false
 
-append <SwitchParameter>
将输出添加到已经存在的文件末尾, 而不是替换文件中的内容.
 
强制参数?
false
参数位置?
named
默认值
False
允许从管道绑定输入?
false
允许通配符扩展?
false
 
-width <int>
指定每行输出字符的数量. 多余的字符将被截断, 而非换行继续显示. 如果你忽略此参数, 宽度将通过宿主的特征决定. PowerShell.exe宿主的默认宽度为80 (字符).
 
强制参数?
false
参数位置?
named
默认值
80
允许从管道绑定输入?
false
允许通配符扩展?
false
 
-inputObject <psobject>
指定被写入文件的对象. 输入一个包含对象的变量, 或者一个能够产生对象的命令或表达式.
 
强制参数?
false
参数位置?
named
默认值
 
允许从管道绑定输入?
true (根据值)
允许通配符扩展?
false
 
-force <SwitchParameter>
在不破坏安全性的前提下, 能够避免影响命令成功执行的限制条件, 例如: Force参数能够覆盖具有只读属性的文件或创建路径中的必要成分, 但是不会改变人和文件的权限.
 
强制参数?
false
参数位置?
named
默认值
false
允许从管道绑定输入?
false
允许通配符扩展?
false
 
-noClobber <SwitchParameter>
不覆盖(替换原有内容) 已经存在的文件. 默认情况下, 如果文件已经在指定路径存在, Out-File不提示任何警告, 将其覆盖. 如果AppendNoClobber都被指定, 输出被追加到存在的文件末尾.
 
强制参数?
false
参数位置?
named
默认值
False
允许从管道绑定输入?
false
允许通配符扩展?
false
 
-whatIf
描述执行此命令将会发生的现象, 不会真正执行此命令.
 
强制参数?
false
参数位置?
named
默认值
 
允许从管道绑定输入?
false
允许通配符扩展?
false
 
-confirm
执行命令前提示你进行确认.
 
强制参数?
false
参数位置?
named
默认值
 
允许从管道绑定输入?
false
允许通配符扩展?
false
 
<公共参数>
此命令支持公共参数: -Verbose, -Debug, -ErrorAction, -ErrorVariable, and -OutVariable. 更多信息, 输入, "get-help about_commonparameters".
 
输入类型
Any
 
返回类型
None
 
注意
 
更多信息, 输入"Get-Help Out-File -detailed".需要技术信息, 输入"Get-Help Out-File -full".
 
如果需要为该命令提供多个参数, 请使用逗号进行分隔. 例如, "<parameter-na me> <value1>, <value2>".
 
Out cmdlets不会对对象进行格式化; 他们只显示这些对象, 然后将他们发送到指定的目标. 如果你给Out cmdlet发送一个没有格式化的对象, cmdlet在显示它前, 先将该对象发送给格式化cmdlet.
 
Out cmdlets没有任何名称或文件路径的参数. 要给Out cmdlets发送数据, 使用管道运算符(|)Windows PowerShell命令的输出发送给cmdlet. 你也可以将数据存储在变量中, 使用InputObject参数来讲数据传递给cmdlet. 帮助信息, 请看例子.
 
Out-File发送数据, 但是它不发出任和输出对象. 如果你将Out-File的输出通过管道发送给Get-Member, Get-Member将会报告没有任何对象被指定.
 
1
 
C:/PS>get-process | out-file -filepath C:/Test1/process.txt
 
此命令将计算机上的进程列表保存到Process.txt文件. 如果文件不存在, Out-File负责创建它. 因为FilePath参数的名称是可选项, 你可以忽略它并提交等价的命令"get-process | outfile C:/Test1/process.txt".
 
2
 
C:/PS>get-process | out-file C:/Test1/process.txt -noclobber
 
此命令也会将计算机上的进程列表保存到Process.txt文件, 但是它使用了NoClobber参数, 此参数将会阻止已经存在的文件被覆盖. 当对已经存在的文件使用NoClobber , 显示输出信息将会是错误信息.
 
Out-File : File C:/Test1/process.txt already exists and NoClobber was specified.
At line:1 char:23
+ get-process | out-file  <<<< process.txt -noclobber
 
3
 
C:/PS>$a = get-process
 
out-file -filepath C:/Test1/process.txt -inputobject $a -encoding ASCII -width 50
 
这些命令将计算机上的进程列表保存到Process.txt文件.
 
第一个命令取得进程列表, 并将其存储在$a变量中. 第二个命令使用Out-File cmdlet将进程列表保存到Process.txt文件.
 
命令使用InputObject参数指定输入来自$a变来那个. 它使用Encoding参数将输出转换为ASCII格式. 它还是用Width参数限制文件每行有50字符. 由于输出的每行被截断为50个字符, 进程列表中最右边的列被忽略.
 
4
 
C:/PS>set-location hklm:/software
 
c:/PS>get-acl mycompany/mykey | outfile -filepath c:/ps/acl.txt
 
c:/PS>get-acl mycompany/mykey | outfile -filepath filesystem::acl.txt
 
这些命令介绍了当你不在文件系统驱动器, 如何使用Out-File cmdlet.
 
第一个命令设置当前路径为HKLM:/Software注册表项.
 
第二个和第三个命令有同样的效果. 他们是用Get-Acl cmdlet取得MyKey注册表子项(HKLM/Software/MyCompany/MyKey)的安全描述符. 管道运算符将结果发送至Out-File cmdlet, 后者将其发送到Acl.txt文件.
 
因为Out-File不被Windows PowerShell注册表提供程序支持, 要么你指定文件系统驱动器名(例如: "c:"), 要么提供程序名称后紧跟着两个冒号, "FileSystem::"作为FilePath参数的值. 第二个和第三个命令揭示了这些方法.
 
相关链接
Out-String
Out-Null
Out-Host
Out-Printer
Out-Default
Tee-Object
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值