如何将指定文件夹(如以abc开头的)从一个目录移动到另一个目录?
将以指定前缀开头的文件夹移动到目标目录
问题场景
我有一个名为downloads的目录,其中包含以下5个文件夹:
1.abc.123.456 2.xyz.567.ghj 3.pqr.456.33.ff 4.abc.45.pqr 5.abc.hjks.2334
需求:将所有以abc开头的文件夹(包括其子目录和文件)移动到同一目录下的abc文件夹,或者其他指定目录中。
修正后的PowerShell脚本
原脚本存在两处问题:一是使用-File参数会只处理文件,而我们需要处理文件夹;二是前缀判断逻辑错误(abc仅3个字符,无需截取15位)。以下是修正后的脚本:
# 根据实际情况修改$Source和$Dest路径 $Source = "D:\Downloads" $Dest = "D:\Downloads\abc" $Prefix = 'abc' # 确保目标目录存在,不存在则创建 if (-not (Test-Path -Path $Dest)) { New-Item -Path $Dest -ItemType Directory | Out-Null } # 获取源目录下所有以指定前缀开头的文件夹,并移动到目标目录 Get-ChildItem -Path $Source -Force -Directory | ForEach-Object { if ($_.Name.StartsWith($Prefix)) { Move-Item -Path $_.FullName -Destination $Dest } }
脚本说明
$Source:源文件夹路径,即包含待移动文件夹的目录$Dest:目标文件夹路径,移动后文件夹的存放位置Test-Path+New-Item:确保目标目录存在,避免移动时因目录不存在报错Get-ChildItem -Directory:仅获取源目录下的文件夹(不包含文件)$_.Name.StartsWith($Prefix):判断文件夹名称是否以abc开头Move-Item:将匹配的文件夹及其所有内容(子目录、文件)移动到目标目录
内容的提问来源于stack exchange,提问作者Noobie
相关产品推荐
相关产品推荐

