[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]批处理如何删除含有关键字的文件,谢谢回答

本帖最后由 oyr520 于 2022-6-25 10:58 编辑

比如当前目录下很多Serial-COM9_2022_06_17_21_24_39这些文件名的文件,想把含关键字Serial-COM的文件全部删除。
两个批处理,一个是删除当前目录下的,一个是删除所有盘里面的。

删除当前目录下文件:
  1. del /q "Serial-COM*"
复制代码
微信:flashercs
QQ:49908356

TOP

删除所有盘
  1. @echo off
  2. for %%i in (c d e f g h i j k l m n o p q r s t u v w x y z) do (
  3.   if exist "%%i:\" (
  4.      del /f /s /q "%%i:\Serial-COM*"
  5.   )
  6. )
  7. pause
复制代码
微信:flashercs
QQ:49908356

TOP

回复 2# flashercs
谢谢大佬!可以匹配大小写吗?验证小写serial-com文件也会被删除。

TOP

回复 4# oyr520


    windows下文件名是忽略大小写的.
微信:flashercs
QQ:49908356

TOP

回复 4# oyr520
匹配大小写就需要将文件名作为普通字符串进行过滤。当前目录可以这样:
  1. for /f "delims=" %%a in ('dir /b /a-d^|findstr "^Serial-COM"') do del /q %%a
复制代码
所有盘可参考3楼代码进行修改,思路与上面代码差不多。
也可采用if语句判断。

TOP

回复 6# qixiaobin0715
谢谢解答!验证删不掉,提示找不到,但文件实际是存在的,跟文件名有中文有关系吗?麻烦再帮忙看看。
找不到 E:\log\Serial-COM6_2022_06_17_21_24_39-1
找不到 E:\log\Serial-COM7_2022_06_17_21_24_39-1
找不到 E:\log\Serial-COM8_2022_06_17_21_24_39-1
找不到 E:\log\Serial-COM9_2022_06_17_21_24_39-1
找不到 E:\log\Serial-COM9_2022_06_17_21_24_39-1
找不到 E:\log\Serial-COM9_2022_06_17_21_24_39-1
找不到 E:\log\Serial-COM9_2022_06_17_21_24_39-1
请按任意键继续. . .

@echo off
for /f "delims=" %%a in ('dir /b /a-d^|findstr "Serial-COM"') do del /q %%a
pause

TOP

回复 7# oyr520
确实跟中文有关系,这样带中文的会无法删除
Serial-COM9_2022_06_17_21_24_39-1 - 副本 (3) - 副本 - 副本.txt
Serial-COM9_2022_06_17_21_24_39-1 - 副本 (3) - 副本.txt
Serial-COM9_2022_06_17_21_24_39-1 - 副本 (3).txt
Serial-COM9_2022_06_17_21_24_39-1 - 副本 - 副本.txt

TOP

  1. @echo off
  2. for /f "delims=" %%a in ('dir /b /a-d^|findstr "Serial-COM"') do del /q "%%a"
  3. pause
复制代码
回复 8# oyr520
微信:flashercs
QQ:49908356

TOP

回复 8# oyr520
与中英文关系不大,应当是文件名中空格在作怪。

TOP

回复 9# flashercs
验证可以了,感谢!

TOP

回复 10# qixiaobin0715
好的,按照8楼修改后的,验证可以了,感谢!

TOP

返回列表