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

求助:编写脚本删除以strings.txt中指定字符串开头的文件

没问题,我来给你几个实用的脚本方案,适配不同操作系统,你可以按需选用:

Bash脚本(适用于Linux/macOS)

这个脚本可以读取strings.txt里的所有前缀(不管是每行一个还是空格分隔),然后删除当前目录下所有以这些前缀开头的文件:

#!/bin/bash

# 先检查目标文件是否存在,避免白忙活
if [ ! -f "strings.txt" ]; then
    echo "错误:strings.txt 文件不存在,请确认路径!"
    exit 1
fi

# 读取文件中的每个前缀,兼容空格分隔或每行一个的格式
while read -r -a prefixes; do
    for prefix in "${prefixes[@]}"; do
        # 仅查找当前目录下的文件(不包含子目录),匹配前缀后删除
        find . -maxdepth 1 -type f -name "${prefix}*" -delete
        # 如果需要递归删除子目录里的对应文件,把上面一行改成下面这句:
        # find . -type f -name "${prefix}*" -delete
        echo "已处理前缀 ${prefix}:删除所有匹配的文件"
    done
done < "strings.txt"

脚本说明

  • 开头的检查确保不会因为找不到strings.txt而报错
  • read -r -a会把每行的空格分隔前缀都存入数组,所以不管你的列表是每行一个还是空格连在一起都能处理
  • -maxdepth 1限制只在当前目录操作,避免误删子目录里的文件;如果需要递归处理,去掉这个参数即可
  • -type f确保只删除文件,不会误删同名目录
PowerShell脚本(适用于Windows)

如果你用的是Windows系统,这个PowerShell脚本可以实现同样的需求:

# 先验证strings.txt是否存在
if (-not (Test-Path "strings.txt")) {
    Write-Error "错误:未找到strings.txt文件,请确认位置!"
    exit 1
}

# 读取文件内容,自动分割所有空白字符(空格、换行都算),过滤空字符串
$prefixes = (Get-Content "strings.txt" -Raw) -split '\s+' | Where-Object { $_ -ne '' }

foreach ($prefix in $prefixes) {
    # 查找当前目录下以该前缀开头的文件并删除
    Get-ChildItem -Path . -Filter "${prefix}*" -File | Remove-Item -Force
    # 需要递归删除子目录文件的话,加上 -Recurse 参数:
    # Get-ChildItem -Path . -Filter "${prefix}*" -File -Recurse | Remove-Item -Force
    Write-Host "已处理前缀 $prefix:完成匹配文件的删除"
}

脚本说明

  • Test-Path用来检查文件是否存在,提前规避错误
  • -split '\s+'会把文件里所有的空格、换行都作为分隔符,不管你的列表格式如何都能正确提取前缀
  • -File参数确保只处理文件,不会误删目录;-Force可以强制删除只读文件
  • 加上-Recurse就能递归处理所有子目录里的匹配文件
重要注意事项
  1. 先测试再执行!:建议先把删除命令换成打印命令,确认匹配的文件是你想删的。比如在Bash里把-delete换成-print,PowerShell里把Remove-Item -Force换成Select-Object Name,先看看输出的文件列表是否正确。
  2. 备份重要文件:执行删除操作前,最好把目标目录里的重要文件备份一份,避免误删造成损失。
  3. 特殊字符处理:如果你的前缀里包含*、?这类通配符,需要额外转义,但从你的示例来看都是数字前缀,所以不用操心这个问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:44:25