Powershell - 如何在埋藏在长路径名中时查找给定的文件集

时间:2016-06-30 07:57:41

标签: powershell path

我的代码段会生成一个csv,其中列出路径(FullName)到包含260个a的长路径名,即aaaa*.txt

如果我有一个文件列表(.csv),这些文件可能都隐藏在长路径名的末尾,例如:longpath1\file1.txtlongpath1\file2.txtlongpath1\file3.txt

如何修改我的代码以查找csv列表中的每个文件?

Get-LongChildItem -Path $source -Recurse *aaaa*.txt |
    Select-Object -Property FullName |
    Export-Csv -NoTypeInformation -Delimiter '|' -Path $outputPath

请注意,我在 PSAlphaFS模块中使用Get-LongChildItem作为已发布的herehere

更新

我已按以下方式更改了我的代码,其中TestFindFile.csv包含我正在搜索的文件名列表:

$source = 'C:\Data\SCRIPTS'
#$outputPath = 'C:\data\scripts\ps1\TestFileLocation6.csv
$destination = 'C:\Data\SCRIPTS'
$searchFiles = Import-CSV 'C:\Data\SCRIPTS\PS1\TestFindFile.csv' -Header ("Name")
$sourceList = Get-LongChildItem -Path $source -Recurse

ForEach($File in $searchFiles) 
{
     $sourceList | Where-Object { $_.Name -match $File.filename } | Copy-Item -Destination $destination    
    # $sourceList | Where-Object { $_.Name -match $File.filename } | Copy-Item -Destination $destination | export-csv -notypeinformation -delimiter '|' -path $outputPath  

}

但我收到错误:

Unexpected token 'C:\Data\SCRIPTS'
$searchFiles = Import-CSV 'C:\Data\SCRIPTS\PS1\TestFindFile.csv' -Header ("Name")
    $sourceList = Get-LongChildItem -Path $source -Recurse

        ForEach($File in $searchFiles) 
        {
$sourceList | Where-Object { $_.Name -match $File.filename } | Copy-Item -Destination $destination    
        }
'
in expression or statement.
+ CategoryInfo   : ParseError: (:) [], ParseException
+ FullyQualifiedErrorId : TerminatorExpectedAtEndOfString

0 个答案:

没有答案