PowerShell导出CSV命令教程及示例

Command-separated Value CSV 文件是一种非常流行的文本文件类型,用于不同的目的。CSV的特殊之处在于它能够通过用逗号分隔值或列来存储结构化数据。CSV文件与Excel文件兼容,可以导入和导出。

导出为逗号分隔的CSV文件

我们将从一个简单的例子开始。 Get-Process 命令用于列出当前正在运行的进程,其中包含不同的信息,如句柄、NPM、CPU、ID、ProcessName等。我们可以使用命令Export CSV来存储这些用命令分隔的进程信息。

PS>获取进程

现在我们可以通过重定向Get进程输出,将这些正在运行的进程信息放入CSV文件中。我们将提供带有选项的文件名 -Path . 文件名将为ProcessList.csv。

PS>获取进程|导出CSV-路径ProcessList.CSV

或者,我们可以使用-Path选项提供不同的目录。在下面的命令中,我们将把ProcessList.csv文件放入 C:Usersİsmail BaydanDesktop .

PS>获取内容'C:用户İsmail BaydanDesktopProcessList.csv'

为CSV文件设置分隔符

分隔符是CSV文件的重要组成部分。默认情况下,CSV文件使用命令作为分隔符。但我们可以随意改变分隔符。我们将使用-Delimeter选项来设置不同的分隔符。在下面的示例中,我们将等号=设置为分隔符。将分隔符放在双引号内是防止错误的一个非常好的方法。

PS>获取进程|导出CSV-分隔符“=”-Path ProcessList.CSV

导出为分号分隔的CSV文件

逗号是CSV文件的标准分隔符。但是我们可以使用不同的分隔符来分隔列。在某些情况下,可以在CSV文件中使用逗号来表示要放入CSV文件的内容。这将使CSV文件崩溃,因为分隔符和内容将相同,并且用分隔符分析内容时容易出错。因此,命令分隔符的好替代方法是分号,它很少在CSV文件内容中使用。在下面的示例中,我们将分号设置为分隔符。

PS>获取进程|导出CSV-分隔符“;”-路径ProcessList.csv

选择要写入CSV文件的属性

到目前为止,我们已经使用了getprocess命令,它将列出当前正在运行的进程的所有属性。在某些情况下,我们不需要将所有属性放入CSV文件中。我们可以选择哪些属性可以放入CSV文件。我们将使用命令 Select-Object 以及它的选择 -Property 就像下面一样。

PS>获取进程|选择对象-属性ProcessName,Id |导出CSV-路径ProcessList.CSV
选择要写入CSV文件的属性

附加到现有CSV文件

Export CSV命令的另一个用例是将新的CSV内容添加到现有的CSV内容中。我们可以用这个选项 -Append 它将向现有文件中添加新的CSV内容。

PS>获取进程|导出CSV-分隔符-追加-路径ProcessList.CSV

不覆盖现有CSV文件

默认情况下,命令Export CSV将在没有任何警告的情况下覆盖现有文件。我们可以通过选择 -NoClobber 这将不会覆盖现有的文件和打印和错误实时给定文件allready存在。

PS>获取进程|导出CSV-NoClobber-Path ProcessList.CSV
不覆盖现有CSV文件

覆盖只读文件

默认情况下,可以编辑只读文件,并在默认情况下添加。但是Export CSV命令可以更改只读属性进行编辑,然后恢复为只读。我们将使用选项强制写入操作 -Force 就像下面一样。

PS>获取进程|导出CSV-附加-强制-路径ProcessList.CSV

设置CSV文件编码

由于CSV文件是一个文本文件,它有一个编码选项。默认情况下,UTF-8是文本和CSV文件的默认编码。但在某些情况下,我们可能需要更改默认编码并设置特定编码。我们可以使用选项-Encoding并提供类似ASCII的编码名称。在下面的示例中,我们将CSV文件编码设置为ASCII。

PS>获取进程|导出CSV-编码ASCII-路径ProcessList.CSV

下面是可用于导出CSV的流行和可用的编码格式。

  • ASCII码
  • 双字节Unicode
  • 原始设备制造商
  • Unicode码
  • UTF7型
  • UTF8型
  • UTF8物料清单
  • UTF8NoBOM公司
  • UTF32型
© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0
分享