使用Powershell拆分CSV单元格(但保持原始单元格不变)
我正在尝试将一些pdf文件从目录添加到csv文件中 我正在使用下面的PowerShell脚本添加PDF,但问题是我需要将路径号拆分为调用(但保留每个文件上的原始PDF路径不变) 有没有办法完成这个任务使用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
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或更高版本。在旧版本上,您可以通过新建对象
创建对象,然后使用选择对象
以定义的顺序获取属性。这意味着什么:我需要将路径号拆分为呼叫
?你能用你期望的输出相对于输入的样子来更新吗?嗨,编辑好了。谢谢