首页 > 解决方案 > powershell 中的数组处理

问题描述

语境 :

我有一个文件夹,里面有一些文件。我正在从 Jenkins 运行 PowerShell 脚本,以删除从 Jenkins 中选择的文件列表并从源中复制新文件。我试图一次删除所有文件并复制文件列表,如 Ctrl+A 并复制和粘贴。我有脚本,但它正在单独删除和复制粘贴。

foreach ($database_filename in $database_files) {
    Remove-Item -Path $auditFile_Directory -Include $database_filename* -Recurse -Force
    Remove-Item -Path $logFile_Directory -Include $database_filename* -Recurse -Force
    if ($?) {
        log "Deleting the old files complete."
    }
    try {   
        log "File sets for $database_filename copying...."
        $primary_File = "$database_filename$primaryfile_extn"
        $audit_Files = "$database_filename$auditfile_extn"
        $log_Files = "$database_filename$logfile_extn"
        Copy-Item -Path $sourceFile_Directory$primary_File -Destination $auditFile_Directory
        Copy-Item -Path $sourceFile_Directory$audit_Files -Destination $auditFile_Directory
        Copy-Item -Path $sourceFile_Directory$log_Files -Destination $logFile_Directory
        if ($?) {
            log "A fresh golden copy of the db files created."
        } else {
            Write-Error "Failed! error creating the golden copy, please check the log files"
        }
    }
    catch [System.Net.WebException], [System.IO.IOException]
    {
        Write-Error "Failed! Unable to copy the SQL files"
    }
}

}

标签: powershell

解决方案


您需要将代码分成两个循环,第一个循环将删除所有文件,第二个循环将复制所有文件。


推荐阅读