PowerShell介绍 第三回 "PowerShell导入导出"

本文介绍了PowerShell的导入和导出命令,包括`Import-Module`、`Export-Clixml`、`Get-Content`等。讲解了如何使用这些命令获取多台计算机的系统信息,以及如何将结果导出为HTML、CSV格式。同时讨论了不同命令在文件追加与覆盖上的差异,并探讨了使用`Export-Csv`时遇到的问题及其解决方案。

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

1. 导入命令

使用 get-command "* import *"查找出和导入相关的命令,从结果看到只有Import-ClixmlImport-CSV两个命令,难道就只有这两个命令可以“导入”内容吗?

当然不是啦,除了Import-ClixmlImport-CSV,还可以使用get-content来将需要导入的内容进行导入。例如你要获取N台计算机的系统信息,这N台计算机名称可以写在txt的列表里面,然后使用get-content来导入。

关于这三个命令如何使用,请结合get-help xxx -examples的命令来查看学习即可,如下截图:

2.导出命令

那么导出呢?同样使用get-command "*export*"查找和导出相关的命令,也只发现Export-ClixmlExport-CSV两个命令,此时你是想知道如果导出html怎么办对吧?此时你则可以使用ConvertTo-Html来将结果导出为html,使用ConvertTo-CSV将结果导出为CSV。关于这四个命令的用户依旧请使用get-help xxx -examples来学习。

例子,关于export-CSV的使用,可以感受一下以下两条命令的效果:

Get-process | export-csv -path e:\processes.csv –NoTypeInformation

Get-process | select-object ProcessName,VM,CPU | export-csv -path e:\processes2.csv –NoTypeInformation
你会发现processes.CSV里面收集到的结果比直接运行get-process显示在屏幕的结果要多很多。

接下来还想要介绍的是另外一个导出的命令out-fileout-file等同于>操作符,out-file -append等同于>>操作符,前面一个事覆盖,后面一个是附加。

例子:

$i=0
$Type = "Win32"
$WMI = Get-WmiObject -List | Where-Object {$_.name -Match $Type}
Foreach ($Class in $WMI) {$Class.name; $i++}

3.导出命令使用思考


如果想要将结果导出到CSV怎么办呢?可以有以下几种方法:

  1. <pre name="code" class="html">Foreach ($Class in $WMI)
     {
    $Class.name >> c:\1.txt; $i++
    }

     但是,
    $Class.name; $i++>>D:\1.txt
    以及
    {"$Class.name" ; $i++}>>D:\1.txt
    结果都是不一样的,而且是不对的,可以自行测试感受一下效果
  2. Foreach ($Class in $WMI)
     {
    $Class.name | out-file –filepath e:\win32.csv -append; $i++
    } 
    接-append和不接-append的效果又是不一样的,也可以自行测试感受下效果

  3. 但是呢在这里如果用export-csv来导出,出来的不知道是什么鬼

    {$Class.name | export-CSV -path e:\3.csv -NoTypeInformation; $i++}
     据说是要先定义一个变量来替换,很复杂的说,有兴趣的童鞋可以自行研究.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值