Поэтому я пытаюсь добавить имена файлов определенных текстовых файлов в просматриваемой папке в массив для дальнейшего анализа. Код выглядит следующим образом
$Array = New-Object System.Collections.ArrayList
$onCreated = Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated -Action {
$path = $Event.SourceEventArgs.FullPath
$name = $Event.SourceEventArgs.Name
$changeType = $Event.SourceEventArgs.ChangeType
$timeStamp = $Event.TimeGenerated
Write-Host "The file '$name' at '$path'was $changeType at $timeStamp" -fore white
$file=Get-Item $root\UNB\TMP\FACT_TEMPORAL.TXT | Rename-Item -NewName {("print-"+'{0:yyyy-MM-dd-hh_mm_ss}{1}' -f (Get-Date),".txt")} –PassThru
$archivo=$file.Name
Remove-Item $root\UNB\TMP\FACT_TEMPORAL.txt
comprobar_archivo($archivo)
}
Функция для добавления его в массив:
function comprobar_archivo($archivo) {
Write-Host "COMPROBANDO ARCHIVO $archivo" -fore white
$Array.Add($archivo)
write-host "CONTENIDO INICIAL ARRAY $Array"
foreach ($element in $Array) {
limpia($element)
leeyedita($element)
printpdf($element)
borrar($element)
borrar_array($element)
}
}
Похоже, что хост записи "CONTENIDO INICIAL ARRAY $ Array" ничего не показывает, чем больше сценарий завис, тем больше он не будет выполняться. Поэтому я не знаю, что я делаю неправильно, или как мне правильно передать имена файлов, чтобы работать.
Также Как мне удалить определенное имя из массива? Я использовал:
$Array.Remove([String[]]$archivo)
Но это не сработает ...