当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell 写入文件 |快速浏览 PowerShell 写入文件

作者:精品下载站 日期:2024-12-14 20:33:40 浏览:16 分类:玩电脑

PowerShell 写入文件 |快速浏览 PowerShell 写入文件


[玩转系统] PowerShell 写入文件 |快速浏览 PowerShell 写入文件

PowerShell 写入文件简介

以下文章提供了 PowerShell 写入文件的概述。在多种情况下,需要将生成的输出写入文件。例如,它可以用于文档目的、错误记录或调试目的。可以通过多种方式将输出写入 PowerShell 中的文件,并且可以使用 cmdlet 生成各种类型的文件,例如文本、csv、xml 或 html 文件。

不同的cmdlet

下面给出了不同的 cmdlet、它们的参数和用法的详细信息,以及适当的示例。

1. 输出文件

这是一个基本的 cmdlet,它将输出发送到用户选择的文件。默认情况下,它使用内置的格式化机制来生成输出文件。输出的编写格式与控制台中的显示格式相同。

语法:

Out-File [-FilePath] <string> [[-Encoding] <Encoding>] [-Append] [-Force] [-NoClobber] [-Width <int>] [-NoNewline] [-InputObject <psobject>] [-WhatIf] [-Confirm] [<CommonParameters>]

参数:

  • -追加:这会将输出添加到现有文件中。该参数的数据类型是一个开关。无是默认值。该参数不识别管道输入;此外,不允许使用通配符。
  • -确认:这可确保在运行 cmdlet 之前收到用户确认。参数的数据类型是开关。 Cf 是该参数的别名。 False 是默认值。该参数不识别管道输入;此外,不允许使用通配符。
  • -编码:这表示 PowerShell 在生成输出文件时应使用的编码机制。各种编码类型如下:ascii、utf32、utf8BOM、utf8NoBOM、utf7、utf8、oem 和 Unicode。默认值为 utf8NoBOM。该参数的数据类型是Encoding。该参数不识别管道输入;此外,不允许使用通配符。
  • -FilePath: 这表示输出文件的位置。该参数的数据类型是字符串。它的别名是路径。无是默认值。该参数不识别管道输入;此外,不允许使用通配符。
  • -Force:此参数用于覆盖现有的只读文件。开关是该参数的数据类型。无是默认值。该参数不识别管道输入;此外,不允许使用通配符。
  • -InputObject: 表示需要发送到输出文件的对象。它可以是保存对象的变量,也可以是结果是对象集合的表达式。该参数的数据类型为PSObject。无是默认值。此参数识别管道输入,但不允许使用通配符。
  • -LiteralPath: 这也表示输出文件的位置。该参数的数据类型为字符串,别名为 PSPath 和 LP。无是默认值。此参数识别管道输入,但不允许使用通配符。
  • -NoClobber:这用于防止覆盖文件。如果输出文件存在,则会显示一条消息。如果不使用此功能,则文件将被覆盖。该参数的数据类型是一个开关。默认值为无。该参数不识别管道输入;此外,不允许使用通配符。
  • -NoNewLine: 这用于防止将新行插入到输出中。不添加换行符。该参数的数据类型是一个开关。无是默认值。该参数不识别管道输入;此外,不允许使用通配符。
  • -宽度:这表示每行输出中应有多少个字符。如果长度超过此限制,这些字符将被截断。默认限制为 80。因此,该参数的数据类型为 80。默认值为 None。该参数不识别管道输入;此外,不允许使用通配符。

示例:

代码:

Write-Host "Demo of out file cmdlet" -ForegroundColor Green
Write-Host "writing to a text file" -ForegroundColor Green
for($i=0;$i -le 10; $i++)
{
$out="Added" | Out-File -FilePath C:\vignesh\demo.txt -Append
}
Write-Host "Demo of limit width to 2"
for($i=10000;$i -le 10010; $i++)
{
$out="Added" | Out-File -FilePath C:\vignesh\demo1.txt -Append -Width 2
}
Write-Host "Displaying the output from the files" -ForegroundColor Green
Get-Content -Path "C:\vignesh\demo.txt"
Get-Content -Path "C:\vignesh\demo1.txt"

输出:

[玩转系统] PowerShell 写入文件 |快速浏览 PowerShell 写入文件

[玩转系统] PowerShell 写入文件 |快速浏览 PowerShell 写入文件

2. 设置内容

此 cmdlet 也类似于 add-content,只不过它会覆盖文件的现有内容并且不会追加。

语法:

Set-Content [-Path] <string[]> [-Value] <Object[]> [-PassThru] [-Filter <string>] [-Include <string[]>] [-Exclude <string[]>] [-Force] [-Credential <pscredential>] [-WhatIf] [-Confirm] [-NoNewline] [-Encoding <Encoding>] [-AsByteStream] [-Stream <string>] [<CommonParameters>]

参数:

  • -确认:这可确保在运行 cmdlet 之前收到用户确认。参数的数据类型是开关。 Cf 是该参数的别名。 False 是默认值。该参数不识别管道输入;此外,不允许使用通配符。
  • -编码:这表示 PowerShell 在生成输出文件时应使用的编码机制。各种编码类型如下:ascii、utf32、utf8BOM、utf8NoBOM、utf7、utf8、oem 和 Unicode。默认值为 utf8NoBOM。此参数的数据类型是 Encoding Pipeline 输入无法被此参数识别,也不允许使用通配符。
  • -FilePath:这表示输出文件的位置。该参数的数据类型是字符串。它的别名是路径。无是默认值。该参数不识别管道输入;此外,不允许使用通配符。
  • -Force:此参数用于覆盖现有的只读文件。开关是该参数的数据类型。无是默认值。该参数不识别管道输入;此外,不允许使用通配符。

示例:

代码:

Write-Host "Demo of set content cmdlet" -ForegroundColor Green
Write-Host "writing to a text file" -ForegroundColor Green
for($i=0;$i -le 10; $i++)
{
$out="Added" | Set-Content -Path C:\vignesh\demo.txt
}
Write-Host "Displaying the output from the files" -ForegroundColor Green
Get-Content -Path "C:\vignesh\demo.txt"
Write-Host "Rewriting the contents of the file"
$out="newly added" | Set-Content -Path C:\vignesh\demo.txt
Get-Content -Path "C:\vignesh\demo.txt"

输出:

[玩转系统] PowerShell 写入文件 |快速浏览 PowerShell 写入文件

结论 - PowerShell 写入文件

因此,本文详细解释了如何在 PowerShell 中写入文件。它解释了各种方法、它们的参数和语法,以及适当的示例。这可以通过编写和练习示例脚本来详细了解。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯