搜索文本并将文件复制到位置基于该文本powershell

时间:2016-06-07 16:11:41

标签: powershell

我有一个工作订单程序将xml文件转储到的目录。我需要在这些文件中搜索特定的字符串,然后根据该字符串将它们复制到另一个位置。我从另一篇文章中修改了以下代码,虽然我没有收到任何错误,但它也无法正常工作。我非常喜欢脚本新手,所以任何帮助都会非常感激。

[string] $FileDirectory = "D:\Temp";
[string] $OutputPath  = "D:\Temp\Temp_NY";
[string] $OutputPath2 = "D:\Temp\TEMP_FL";


foreach ($FilePath in Get-ChildItem $FileDirectory | Select-Object -ExpandProperty FullName)
{
[string] $Header = Get-Content $FilePath -First 0

if ($Header -match 'PARTNER |TEST_NY') {
    Copy-Item $FilePath $OutputPath
}
elseif ($Header -match 'PARTNER |TEST_FL*') {
    Copy-Item $FilePath $OutputPath2
}
}

1 个答案:

答案 0 :(得分:0)

标题为-First 1(仅限第一行)。 -First 0什么都不返回。尝试:

$FileDirectory = "D:\Temp";
$OutputPath  = "D:\Temp\Temp_NY";
$OutputPath2 = "D:\Temp\TEMP_FL";   

Get-ChildItem $FileDirectory | ? { !$_.PSIsContainer } | ForEach-Object {

    $FilePath = $_.FullName
    $Header = Get-Content $FilePath -First 1

    if ($Header -match 'PARTNER |TEST_NY') {
        Copy-Item $FilePath $OutputPath
    }
    elseif ($Header -match 'PARTNER |TEST_FL*') {
        Copy-Item $FilePath $OutputPath2
    }

}