Powershell将文本文件从一个文件夹移动到另一个文件夹

Powershell将文本文件从一个文件夹移动到另一个文件夹,powershell,Powershell,我有一个文件夹,它有多个子文件夹,每个文件夹大约有50个子文件夹,其中包含文本文件。我想在不打开每个子文件夹的情况下,将文件从一个文件夹移动到另一个文件夹。 有两种类型的文件1。BSEG和2。BKPF 我想在名为BSEG的文件夹中移动以BSEG开头的文件,并在名为BKPF的文件夹中移动以BKPF开头的文件 我用于BSEG文件的代码是 Move-Item D:\Company\SAP\JAN\"BSEG"*.txt D:\Company\BSEG 此代码有效,但我必须为每个子文件夹编写更新代码

我有一个文件夹,它有多个子文件夹,每个文件夹大约有50个子文件夹,其中包含文本文件。我想在不打开每个子文件夹的情况下,将文件从一个文件夹移动到另一个文件夹。 有两种类型的文件1。BSEG和2。BKPF

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

我用于BSEG文件的代码是

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

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

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

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

Powershell使用-recurse来实现这一点。试试看。递归块告诉它点击每个子文件夹,然后通过管道将输出传递到移动项。值得注意的是,这不会获取文件夹结构,只会获取文件,如果您尝试移动具有相同名称的文件,也会失败

 Get-ChildItem D:\Company\SAP\JAN\"BSEG"*.txt -recurse | Move-Item -Destination D:\Company\BSEG 
一半都有<代码>移动项目不会进入子文件夹。使用
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
}
有一半<代码>移动项目不会进入子文件夹。使用
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
}

谢谢你的帮助:)谢谢你的帮助:)谢谢你的帮助:)这就成功了!谢谢你的帮助:)这就成功了!