如何在foreach中使用foreach在PowerShell中获取文件?

时间:2019-07-17 07:25:40

标签: powershell

我的文件夹中有一些文件。我想从那些文件中获取信息,然后根据文件夹中的文件数量创建一个新文件。我可以创建文件,但是无法获取文件名以写入新文件。

这是我在文件夹中命名文件的示例。像这样的文件夹中有很多文件。

DPC18WWQ6BT602AB0
....

我将创建的一个新文件就是这样(名称文件)

AG_DPC18WWQ6BT602-A1.job

在这样的文件内部

[Automatoin]
Process=Auto
PO=D:\POfiles\

[BIDINFO]
BID=18WWQ6BT602
PFX=DPC
CRM=A1

PO=D:\POfiles\部分,我想获取文件夹DPC18WWQ6BT602AB0.中文件的名称,因此PO的值应考虑为CRM

$PO_Path = $Config_File.Automation_Config.Path.POfiles
$Job_Path = $Config_File.Automation_Config.Path.JOB
if(SWPO_Map -eq $true)
{   
    Write-Host ">>Get SWPO Files"
    $PO_Content = Get-Content -path $PO_Path\*
    $POfile = Get-ChildItem -Name $PO_Path
    $FilteredContents = $PO_Content | Where-Object {$_ -like "*;CRM*"}
    $CRM = $FilteredContents.Substring(5,2)

    $Count = 1
    Foreach ($POfile in $PO_Path)
    {
        Foreach($CRM in $CRM){
        try {   
                New-Item -ItemType File -Path "$Job_Path\AG_$Prefix$BID-$CRM.job" -Force
                $Output_JOB =  "[Automatoin]", "Process=Auto","PO=$POfile", " ", "[BIDINFO]", "BID=$BID", "PFX=$Prefix", "CRM=$CRM" | Out-File "$Job_Path\AG_$Prefix$BID-$CRM.job" -Encoding oem
                $Count += 1  
        }
        catch {
            Write-Host "NO CRM"
        }
    }
    }
}
else
{
     Write-Host "SWPO Not Found"
 }

0 个答案:

没有答案