Войти

Показать полную графическую версию : [решено] Создание собственного массива объектов powershell 2.0


dosperados
01-07-2015, 07:30
Есть вот такой код
get-childitem -Path $path -Include $IncludeMask -Recurse | % { # Получаем содержимое $path по маске(фильтру) $IncludeMask
IF ($_.LastWriteTime.Day -eq 1) { # ищем файлы созданные первого числа
IF ((Test-Path -Path $DestMounth\$($_.Name)) -eq $False) { # проверяем скопирован ли архив
Write-Verbose "КОПИРУЮ: Новый бекап`t $_.FullName "
Copy-Item -Path $_.FullName -Destination $DestMounth -Force -WhatIf
#$htmlCodeDay += '<TR ALIGN=left><TD>'+$_.FullName+'</TD>'+'<TD>'+$_.LastWriteTime+'</TD></TR>'
$htmlCodeDay += @([pscustomobject]@{'FileName'=($_.Name);
'FullName'=($_.FullName);
'Size(GB)'=($_.Length / 1GB -as [int]);
'Size(MB)'=($_.Length / 1MB -as [int]);
'CreationTime'=($_.CreationTime);
'LastWriteTime'=($_.LastWriteTime)})
}
}
}


интересуют как можно переделать этот блок, чтобы он работал на Posh 2.0

$htmlCodeDay += @([pscustomobject]@{'FileName'=($_.Name);
'FullName'=($_.FullName);
'Size(GB)'=($_.Length / 1GB -as [int]);
'Size(MB)'=($_.Length / 1MB -as [int]);
'CreationTime'=($_.CreationTime);
'LastWriteTime'=($_.LastWriteTime)})

в дальнейшем значения сохраненные в переменную $htmlCodeDay я конвертирую в HTML

$htmlcode += $htmlCodeDay | ConvertTo-HTML -Fragment -PreContent "<h2>Копирование новых бекапов $DestBackUp :</h2>"

Foreigner
01-07-2015, 10:39
dosperados, Как пример:

$files = gci *.txt
$result = @()
foreach ($file in $files) {

$result += new-object -type psobject -property @{

'FullName' = $file.FullName
'Size(GB)' = $file.Length / 1GB
'Size(MB)' = $file.Length / 1MB
'CreationTime' = $file.CreationTime
'LastWriteTime' = $file.LastWriteTime

}}

$result | ConvertTo-HTML -Fragment -PreContent "<h2>Копирование новых бекапов:</h2>"

dosperados
01-07-2015, 11:25
Решил задачу самостоятельно

$htmlCodeDay += New-Object PSObject -Property @{
'FullName'=($_.FullName)
'Size(GB)'=($_.Length / 1GB -as [int])
'Size(MB)'=($_.Length / 1MB -as [int])
'CreationTime'=($_.CreationTime)
'LastWriteTime'=($_.LastWriteTime)}




© OSzone.net 2001-2012