Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Powershell拆分CSV单元格(但保持原始单元格不变)_Powershell_Csv - Fatal编程技术网

使用Powershell拆分CSV单元格(但保持原始单元格不变)

使用Powershell拆分CSV单元格(但保持原始单元格不变),powershell,csv,Powershell,Csv,我正在尝试将一些pdf文件从目录添加到csv文件中 我正在使用下面的PowerShell脚本添加PDF,但问题是我需要将路径号拆分为调用(但保留每个文件上的原始PDF路径不变) 有没有办法完成这个任务 getchilditem-Recurse“C:\Users\alon\Desktop\MYpdf”| ForEach对象{ $124;添加成员-Name“Owner”-MemberType NoteProperty-Value(获取Acl$124;.FullName).Owner-PassThru

我正在尝试将一些pdf文件从目录添加到csv文件中

我正在使用下面的PowerShell脚本添加PDF,但问题是我需要将路径号拆分为调用(但保留每个文件上的原始PDF路径不变)

有没有办法完成这个任务

getchilditem-Recurse“C:\Users\alon\Desktop\MYpdf”|
ForEach对象{
$124;添加成员-Name“Owner”-MemberType NoteProperty-Value(获取Acl$124;.FullName).Owner-PassThru
} |
排序对象全名|
选择全名、CreationTime、LastWriteTime、长度、所有者|
导出Csv-Force-NoTypeInformation“C:\Users\alon\Desktop\MYpdf\directory.Csv”
输出应如下所示:


您的意思是要将文件名中的数字作为附加字段添加到输出中?我将拆分每个文件的basename,并根据该信息和文件元数据构建自定义对象:

Get-ChildItem ... |
    ForEach-Object {
        $numbers = $_.BaseName -split '_'

        [PSCustomObject]@{
          FullName      = $_.FullName
          Company       = [int]$numbers[0]
          Invoice       = [int]$numbers[1]
          Deal          = [int]$numbers[2]
          Customer      = [int]$numbers[3]
          Autonumber    = [int]$numbers[4]
          CreationTime  = $_.CreationTime
          LastWriteTime = $_.LastWriteTime
          Length        = $_.Length
          Owner         = (Get-Acl $_.FullName).Owner
    } |
    Sort-Object FullName |
    Export-Csv ...
使用也可以,但在这种情况下,构造新对象可以说是更简单的方法


请注意,
[PSCustomObject]
类型加速器需要PowerShell v3或更高版本。在旧版本上,您可以通过
新建对象
创建对象,然后使用
选择对象
以定义的顺序获取属性。

这意味着什么:
我需要将路径号拆分为呼叫
?你能用你期望的输出相对于输入的样子来更新吗?嗨,编辑好了。谢谢