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

咨询PowerShell中替换Write-Output实现指定文件删除的操作符

PowerShell 删除指定目录中不在列表内的文件

你需要替换Write-Output $_的部分,不需要额外操作符,直接使用PowerShell的Remove-Item命令即可实现需求。

修改后的代码

$imagesdir = "C:\images"
$allImages | ForEach-Object {
    if (-not $wImages.ContainsKey($_)) { 
        # 匹配文件名包含当前字符串的所有扩展名文件
        Remove-Item -Path (Join-Path $imagesdir "*$_*") -Recurse -ErrorAction SilentlyContinue
    }
}

关键说明

  • 使用Join-Path拼接目录和通配符路径,确保路径格式符合系统要求
  • *$_*表示匹配文件名中包含$_对应字符串的所有文件(不受扩展名限制)
  • 添加-Recurse参数可同时删除子目录中符合条件的文件,不需要递归可直接移除该参数
  • -ErrorAction SilentlyContinue用于忽略不存在对应文件时的报错信息
  • 建议先添加-WhatIf参数(如Remove-Item ... -WhatIf)执行测试,确认待删除文件符合预期后,再移除该参数执行正式删除操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 18:43:14