首页 > 解决方案 > 将文件名添加到数组?

问题描述

我正在尝试将监视文件夹中某些 txt 文件的文件名添加到数组中以进行进一步分析。代码如下

$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)

但它不会工作...

标签: powershell

解决方案


推荐阅读