【问题标题】:Powershell to move text files from one folder to anotherPowershell 将文本文件从一个文件夹移动到另一个文件夹
【发布时间】:2016-03-07 22:07:48
【问题描述】:

我有一个包含多个子文件夹的文件夹,每个文件夹有大约 50 个包含文本文件的子文件夹我想将文件从一个文件夹移动到另一个文件夹而不打开每个子文件夹。 有两种文件 1. BSEG 和 2. BKPF

我想将以 BSEG 开头的文件移动到名为 BSEG 的文件夹中,并将以 BKPF 开头的文件移动到名为 BKPF 的文件夹中

我用于 BSEG 文件的代码是

 Move-Item D:\Company\SAP\JAN\"BSEG"*.txt D:\Company\BSEG

此代码有效,但我必须为每个子文件夹编写更新代码,我需要帮助修改此代码以便查找所有子文件夹

【问题讨论】:

    标签: powershell


    【解决方案1】:

    Powershell 使用 -recurse 来完成此任务。试一试。 -recurse 片段告诉它点击每个子文件夹,然后将输出通过管道传输到移动项目。值得注意的是,这不会抓取文件夹结构,只会抓取文件,如果您尝试移动具有相同名称的文件,它也会失败。

     Get-ChildItem D:\Company\SAP\JAN\"BSEG"*.txt -recurse | Move-Item -Destination D:\Company\BSEG 
    

    【讨论】:

      【解决方案2】:

      dfundako 占了一半。 Move-Item 不会进入子文件夹。将Get-ChildItem-Recurse 开关一起使用将帮助您获得要移动的文件。

      您还需要移动两组不同的文件。永远不要重复需要重用的代码。因此,让我们对您的两个文件集进行一个简单的foreach 循环。这很有效,因为您正在将具有相同前缀的文件移动到它们自己的文件夹中。

      foreach($fileType in $fileTypes){
          Get-ChildItem -Path D:\Company\SAP\JAN\ -Filter "$fileType*.txt" -Recurse | 
              Move-Item -Destination D:\Company\$fileType
      }
      

      【讨论】:

        猜你喜欢
        • 2012-11-11
        • 1970-01-01
        • 1970-01-01
        • 2021-11-29
        • 1970-01-01
        • 1970-01-01
        • 2022-10-25
        • 1970-01-01
        相关资源
        最近更新 更多