#Требуем запуск от администратора
#Requires -RunAsAdministrator
#region Data input
$MyScriptRoot = Split-Path $script:MyInvocation.MyCommand.Path
$MyCSV = "$MyScriptRoot\MyData.csv"
$MyHTML = "$MyScriptRoot\MyData.html"
$MyList = New-Object -TypeName System.Collections.ArrayList
$MyData = @'
1111111111111111111111
2222222222222222222222
2333333333333333333333
4444444444444444444444
5555555555555555555555
'@ -split "`n" | ForEach-Object { $_.Trim() }| Where-Object { -not [string]::IsNullOrWhiteSpace($_ ) }
if (!(test-path -Path $MyCSV )){
write-host -ForegroundColor Red "File $MyCSV not found!"
break
}
$MyData = Import-CSV -Path $MyCSV |
Where-Object { $_.PSObject.Properties.Value -ne '' } | #remove blank lines
Where-Object {($_.fio).trim()} #remove trims from begin and end
$MyHTMLData=@{
body = "body"
head = "header"
title = "title"
precontent = "precontent"
postcontent = "postcontent"
cssuri = "cssuri"
}
#endregion
#region Обработка данных
foreach ($MyItem in $MyData)
{
"|$myItem|" #Контроль вывода, потом можно удалить
If ($MyItem -match "^2"){
[void]$MyList.Add( [pscustomobject] @{DATA1=$MyItem;DATA2=$Myitem - (get-random)})
}
}
#endregion
#region Вывод данных
$MyList
$MyList | Out-GridView
$MyList | export-csv -Path $MyCSV -Force -Encoding UTF8 -Delimiter ";" -NoTypeInformation
$MyList | ConvertTo-Html @MyHTMLData | Out-File $MyHTML -Force -Encoding UTF8
psedit $MyCSV
psedit $MyHTML
#endregion
<#
body = "body"
head = "header"
title = "title"
precontent = "precontent"
postcontent = "postcontent"
cssuri = "cssuri"
fragment = "fragment"
#>