用于过滤父文件夹和子文件夹的Powershell脚本,以及对文件的进一步过滤。最后,复制

时间:2015-10-08 09:40:32

标签: powershell-v4.0

有没有办法过滤掉一个文件夹,然后从它的孩子那里过滤掉一个文件夹然后过滤掉某些文件?

家长:

  

C:\ XYZ \ ABC \ 123

     

C:\ XYZ \ ABC \ 789

     

C:\ XYZ \ ABC \ 654

过滤掉123然后

  

C:\ XYZ \ ABC \ 123 \ LMN

     

C:\ XYZ \ ABC \ 123 \ PQR

     

C:\ XYZ \ ABC \ 123 \ TRU

过滤掉 C:\ XYZ \ ABC \ 123 \ lmn 。然后通过从中选择 csv 文件

复制所有文件夹

所有这一切都是通过维护

的文件夹结构
  

123 \ lmn \ test1(仅限csv文件)

     

123 \ lmn \ test2(仅限CSV文件)

希望它有意义

1 个答案:

答案 0 :(得分:1)

Get-ChildItem C:\XYZ\ABC\* | Foreach-Object {
$folderName = $_.BaseName
    if($folderName == "123"){
        Get-ChildItem C:\XYZ\ABC\$folderName\* | Foreach-Object {
        $childFolderName = $_.BaseName
        if($childFolderName == "lmn"){
             Get-ChildItem C:\XYZ\ABC\$folderName\$ childFolderName \*.csv |Foreach-Object {
                 $ExcelFile = import-csv $_
              }
          }
      }
   }
}

这应该复制文件夹C:\ XYZ \ ABC \ 123 \ lmn中的所有csv文件。您必须在使用导出功能对它们进行操作后导出它们。这是你想要的吗?