Удалите тег @ {} из объекта PowerShell. - PullRequest
0 голосов
/ 24 июня 2018

Мне нужна помощь в удалении расширений @ {} из выходных данных объекта.

Ниже приведен код последнего измененного файла в папке.Но вывод находится внутри расширения @ {}.

Я пробовал Out-String, но он не работает.

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}

Ответы [ 2 ]

0 голосов
/ 24 июня 2018
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
0 голосов
/ 24 июня 2018

Немного измените свои функции на это -

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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...