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

问题描述:

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

我想移动正在开始BSEG的文件夹,名为BSEG和文件BKPF开始叫BKPF

我的代码文件夹中的文件使用BSEG文件是

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

此代码的工作,但我必须写更新代码的每个子文件夹,我想帮助,所以它看起来对所有子文件夹

PowerShell使用-recurse完成这一修改此代码。给这个镜头。 -recurse部分告诉它击中每个子文件夹,然后将输出传送到移动项目。值得注意的是,这不会抓取文件夹结构,只是文件,如果您尝试移动具有相同名称的文件,它也会失败。

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

谢谢你的帮助:) – mb1987

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 
} 
+0

谢谢你的帮助:) – mb1987