powershell - 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"
}
}
}
解决方案
您需要将代码分成两个循环,第一个循环将删除所有文件,第二个循环将复制所有文件。