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

PowerShell如何搭配-not使用多过滤器实现PDF文件按文件名规则移动

PowerShell文件移动脚本错误说明及修正

错误点

  • Get-ChildItem的-Filter参数仅支持单条件通配符字符串,你代码中混用了Where-Object的脚本块语法和逻辑运算符,过滤规则完全未生效,因此没有匹配到任何文件,也就没有文件被移动
  • 字符串包含判断需要明确指定匹配对象和匹配运算符,不能直接将通配符字符串接在逻辑运算符后使用

正确实现代码

移动文件名包含Sold的PDF文件

Get-ChildItem -Recurse -Path $sourcePathPDF -Filter '*.pdf' | Where-Object { $_.Name -like '*Sold*' } | Move-Item -Destination $destinationPathSoldPDF

移动文件名不包含Sold的PDF文件

Get-ChildItem -Recurse -Path $sourcePathPDF -Filter '*.pdf' | Where-Object { $_.Name -notlike '*Sold*' } | Move-Item -Destination $destinationPathPDF

注意事项

  • 如果需要不区分大小写匹配Sold,可以将-like替换为-ilike,-notlike替换为-inotlike
  • 正式执行移动操作前,可以把管道末尾的Move-Item替换为Select-Object FullName,先输出匹配到的文件路径,确认过滤规则符合预期后再执行移动,避免误操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 01:36:03