管道输出为CSV或txt格式,中间有一些文本

时间:2017-01-22 07:00:04

标签: powershell pipe

server1\instance1,LOGPp,Hegg_Role_USR,SQL_USER,SELECT,Tables,HR.departments
server1\instance1,LOGPp,Herr_Role_USR,SQL_USER,DELETE,Tables,HR.departments

qns:我需要将结果输入CSV或txt文件,格式如下:

serverName        dbname Role           type      permission objectType Object
server1\instance1 LOGPp  Hegg_Role_USR  SQL_USER  SELECT   Tables HR.departments
server1\instance1 LOGPp  Herr_Role_USR  SQL_USER  DELETE   Tables HR.departments

不确定如何使用PowerShell管道...

2 个答案:

答案 0 :(得分:1)

尝试这样的事情:

import-csv C:\temp\yourfile.csv| Format-Table -AutoSize | out-file C:\temp\yourfile.csv

答案 1 :(得分:0)

如果您的源文件是文字和缺少标题,则您必须插入它们。

$CsvFile = "Q:\Test\2017-01\22\SO_41788212.csv"
import-csv $CsvFile -Header serverName,dbname,Role,type,permission,objectType,Object|
   Format-Table -AutoSize | out-file "$CsvFile.txt"

带下划线列名的输出:

> Get-Content .\SO_41788212.csv.txt

serverName        dbname Role          type     permission objectType Object
----------        ------ ----          ----     ---------- ---------- ------
server1\instance1 LOGPp  Hegg_Role_USR SQL_USER SELECT     Tables     HR.departments
server1\instance1 LOGPp  Herr_Role_USR SQL_USER DELETE     Tables     HR.departments