You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell递归搜索特定文件/文件夹失败,请求适配修改

修正后的PowerShell命令方案

针对你的问题,以下是修正后的命令,解决长路径、特殊字符以及同时搜索文件和文件夹的问题:

$searchPath = '\\?\E:\Network Shares\Commun'
$destinationRoot = "$home\desktop\conflits"

# 同时搜索文件和文件夹,处理长路径与特殊字符
Get-ChildItem -LiteralPath $searchPath -Recurse -Force -File -Directory |
  Where-Object { $_.FullName -like '*(*case*' } |
  New-DestinationPath -CommonPath $searchPath -Destination $destinationRoot -WhatIf |
  Move-Item -LiteralPath { $_.Path } -Destination { $_.Destination } -WhatIf

关键修正点:

  • 移除单一-File参数,添加-Directory实现同时搜索文件和文件夹,原脚本仅检索文件,因此无法匹配你示例中的目标文件夹。
  • 添加-Force参数,确保能访问带有隐藏/系统属性的项目(若共享目录存在这类内容)。
  • 调整Where-Object为脚本块形式,避免属性绑定的潜在异常,保障匹配逻辑稳定生效。
  • 保留\\?\前缀,确保PowerShell正确处理超长路径(突破Windows传统260字符路径限制)。

额外注意事项:

  1. 特殊字符(如éèà)在PowerShell中默认支持,只要系统区域设置与控制台编码匹配,无需额外转义。
  2. 确认New-DestinationPath自定义函数能适配文件夹路径转换逻辑,若该函数仅支持文件,需修改其逻辑以创建对应目录结构。
  3. 测试阶段保留-WhatIf参数,确认移动路径无误后再移除,避免误操作。

内容的提问来源于stack exchange,提问作者Pristep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 01:46:33