我需要帮助从对象输出中删除@ {}扩展名。
下面的代码列出了文件夹中最后修改的文件。但是输出在扩展名@ {}中。
我已经尝试过输出字符串,但是它不起作用。
function scriptA() {
Get-ChildItem $path | Where-Object {!$_.PsIsContainer} | Select fullname -last 1
}
function scriptB() {
Get-ChildItem $path2 | Where-Object {!$_.PsIsContainer} | Select fullname -last 1
}
$data1=ScritA
$data2=ScriptB
$result=@()
$list=@{
FirstFile=$data1
SecondFile=$data2
}
$result+= New-Object psobject -Property $list
$result | Export-Csv -append -Path $csv
这将输出: FirstFile @ {data1}和 SecondFile @ {data2}
答案 0 :(得分:2)
对此稍作更改-
function scriptA() {
Get-ChildItem $path | Where-Object {!$_.PsIsContainer} | Select-Object -ExpandProperty fullname -last 1
}
function scriptB() {
Get-ChildItem $path2 | Where-Object {!$_.PsIsContainer} | Select-Object -ExpandProperty fullname -last 1
}
这样做可以只选择FullName
属性。
OR
如果您不想更改功能,请将$list
分配更改为-
$list=@{
FirstFile = $data1.FullName
SecondFile = $data2.FullName
}
答案 1 :(得分:0)
New-Object PSObject -Property @{FirstFile = ($a = (Get-ChildItem $path1),(Get-ChildItem $path2) |
Where-Object {!$_.PSIsContainer} | ForEach-Object {$_[-1].FullName})[0];SecondFile = $a[1]} |
Export-Csv $csv -NoTypeInformation