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

PowerShell脚本优化:如何在$_.Name目录下创建2022子文件夹?

修改PowerShell脚本以在分组目录内创建2022子目录

你只需要调整ForEach块中的逻辑,先拼接出包含2022子目录的目标路径,递归创建目录后再移动文件即可。以下是修改后的完整脚本:

Get-ChildItem *_*_JDO_*_*.* |
  Where BaseName -match '\d{6}_\d{6}_JDO_(\d{4})_\d{3}'|
    Group {$Matches[1]}|
      ForEach {
          # 拼接主目录($_.Name)下的2022子目录路径
          $targetSubDir = Join-Path -Path $_.Name -ChildPath "2022"
          # 递归创建目录(若主目录不存在会自动创建,已存在则不报错)
          New-Item -Path $targetSubDir -ItemType Directory -Force
          # 将文件移动到2022子目录中
          $_.Group | Move-Item -Destination $targetSubDir
      }

关键修改说明:

  • Join-Path:安全拼接主目录和子目录路径,避免手动拼接字符串时出现路径分隔符错误
  • New-Item -Force:确保目录层级(主目录+2022子目录)存在,即使主目录尚未创建也会自动生成,已存在的目录不会抛出错误
  • 移动目标调整:将文件直接移动到2022子目录,而不是原主目录

如果你习惯用MD(mkdir的别名)简化写法,也可以改成:

Get-ChildItem *_*_JDO_*_*.* |
  Where BaseName -match '\d{6}_\d{6}_JDO_(\d{4})_\d{3}'|
    Group {$Matches[1]}|
      ForEach {
          $targetSubDir = Join-Path $_.Name "2022"
          MD $targetSubDir -Force
          $_.Group | Move -Dest $targetSubDir
      }

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 05:40:25