因此,我试图将监视文件夹中某些txt文件的文件名添加到数组中,以进行进一步的analisys。代码如下
$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)
但是它行不通...