找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 10317|回复: 9

[文件操作] [已解决]批处理删除包含特定文件的不确定名称文件夹,怎么写?

[复制链接]
发表于 2025-2-2 08:19:59 | 显示全部楼层 |阅读模式
本帖最后由 zhoubin 于 2025-2-2 13:00 编辑

坛友们,过年好,请教坛友,批处理删除包含特定文件的不确定名称文件夹,怎么写?
批处理删除特定文件
  1. %Temp%\不确定名称文件夹\ISBEW64.exe
复制代码
所在的文件夹
  1. %Temp%\不确定名称文件夹\
复制代码
;不确定名称文件夹可以是{2DE1B8BD-7D0D-47E6-8814-4F48771B919B}也可以是{787D9EDE-142D-4453-9BFC-79D40C1013A3}等不确定的字符
谢谢各位坛友!

删除:%Temp%\不确定名称文件夹\,谢谢各位!!
 楼主| 发表于 2025-2-2 10:03:39 | 显示全部楼层
网上找了一个
  1. for /r "%temp%" %%i in (ISBEW64.exe) do if exist %%i del /s /q /f /a "%%i"
复制代码
,可以删除文件;删除ISBEW64.exe所在的目录,怎么写呢,谢谢了!
发表于 2025-2-2 10:49:28 | 显示全部楼层
  1. @echo off & setlocal enabledelayedexpansion

  2. ----------------------------------------------------
  3. cls
  4. set "filesname=ISBEW64.exe"
  5. ::指定文件

  6. set "dird=%Temp%"
  7. ::指定文件夹前缀


  8. for /f "delims=" %%a in ('dir /ad /b "%dird%"') do (

  9. if exist "%dird%\%%a\%filesname%" (
  10. del /s /f /q /a "%dird%\%%a\%filesname%" 2>nul & cls
  11. 1pause
  12. cls
  13. )

  14. )
复制代码
 楼主| 发表于 2025-2-2 11:01:17 | 显示全部楼层
谢谢,我要删除的是ISBEW64.exe所在的文件夹
发表于 2025-2-2 11:15:34 | 显示全部楼层
本帖最后由 aloha20200628 于 2025-2-2 19:28 编辑

回复 1# zhoubin

删除目录须慎重!
以下批处代码会删除 %temp% 下所有包含 ISBEW64.exe 文件的子目录...

  1. @echo off &for /f "delims=" %%F in ('dir /b/s/a-d "%temp%\ISBEW64.exe" ') do rd /s/q "%%~dpF" 2>nul
  2. pause&exit/b
复制代码
发表于 2025-2-2 11:41:18 | 显示全部楼层
本帖最后由 ygqiang 于 2025-2-2 11:48 编辑

回复 4# zhoubin
  1. @echo off & setlocal enabledelayedexpansion

  2. ----------------------------------------------------
  3. cls
  4. set "filesname=ISBEW64.exe"
  5. ::指定文件

  6. set "dird=%Temp%"
  7. ::指定文件夹前缀


  8. for /f "delims=" %%a in ('dir /ad /b "%dird%"') do (

  9. if exist "%dird%\%%a\%filesname%" (
  10. echo,rd /q /s "%dird%\%%a"-------------准备删除.......
  11. pause
  12. rd /q /s "%dird%\%%a"
  13. )

  14. )
复制代码

评分

参与人数 1技术 +1 收起 理由
zhoubin + 1 乐于助人,可用,谢谢!!

查看全部评分

 楼主| 发表于 2025-2-2 12:42:57 | 显示全部楼层
回复 6# ygqiang
谢谢,顺祝新春快乐
 楼主| 发表于 2025-2-2 12:43:59 | 显示全部楼层
回复 5# aloha20200628
感谢回复,谢谢,新春快乐
发表于 2025-2-2 17:36:06 | 显示全部楼层
本帖最后由 aloha20200628 于 2025-2-2 17:50 编辑

回复 8# zhoubin

以下代码应该正中题意,即删除 %temp% 下包含 ISBEW64.exe 文件所在的子目录须是一级子目录,5楼代码则会删除 ISBEW64.exe 文件所在的子目录而不管其层级

  1. @echo off &for /f "delims=" %%F in ('dir /b/s/a-d "%temp%\ISBEW64.exe" ') do for %%D in ("%%~dpF.") do if /i "%%~dpD"=="%temp%" rd /s/q "%%~dpF"
  2. pause&exit/b
复制代码
 楼主| 发表于 2025-2-8 16:41:48 | 显示全部楼层
回复 9# aloha20200628
抽空试了一下,这个代码,也是可以的,谢谢了,顺祝新春快乐!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 13:54 , Processed in 0.022243 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表