В настоящее время у меня есть сценарий, который я использую для извлечения определенных файлов .xml из некоторых папок. Однако мне нужно сделать то же самое с zip-файлами в этих же папках, а командлет Expand-Archive
не может сделать именно то, что мне нужно. Может ли кто-нибудь предложить какую-либо помощь? Вот мой оригинальный скрипт:
param (
[string]$loannumber,
[string]$mids
)
$ErrorActionPreference = "Continue"
$MyDir = [System.IO.Path]::GetDirectoryName($myInvocation.MyCommand.Definition)
$config = [xml][IO.File]::ReadAllText("$MyDir\MessageGatherConfig.xml")
#$loannumber = '1479156692'
#$mids = 'M1,M2,DUREQ'
$selectedmids = $mids.Split(",")
foreach ($mid in $selectedmids) {
$filestocopy = @()
Write-Host "Checking for $mid messages..."
$midfile = ($config.MessageGatherConfig.MessageFilePatterns.FilePattern | Where-Object {$_.messageid -eq $mid})
$pattern = $midfile.pattern
$copyfiles = $false
foreach ($path in $midfile.Path) {
$searchval = $pattern.Replace("LOANNUMBER", $loannumber)
Write-Host "Searching $path for $searchval"
$dircmd = "dir /b $path\$searchval"
$files = ""
$files = cmd.exe /c $dircmd
if ($files -ne $null) {
$copyfiles = $true
$files = $files.replace('[', '`[')
$files = $files.replace(']', '`]')
$files2 = $files.Split([Environment]::NewLine)
foreach ($filename in $files2) {
$filestocopy += "$path\$filename"
}
}
}
if ($copyfiles) {
Write-Host "Copying $mid files to local folder"
if (Test-Path $MyDir\$loannumber\$mid) {
Remove-Item $MyDir\$loannumber\$mid -Force -Recurse
}
New-Item $MyDir\$loannumber\$mid -type directory
}
}
Expand-Archive
у вас не работает? - person Bill_Stewart   schedule 26.09.2017