Board logo

标题: [文件操作] [已解决]批处理何批量删除含有指定部分名称的文件? [打印本页]

作者: Orange_ysen    时间: 2019-7-11 11:12     标题: [已解决]批处理何批量删除含有指定部分名称的文件?

本帖最后由 Orange_ysen 于 2019-7-11 17:34 编辑

求解批量删除子目录含指定文件名的文件

先查目录下是否存在然后删除

如果删除两次及以上指定文件需怎解?
作者: Orange_ysen    时间: 2019-7-11 11:20

回复 1# Orange_ysen


    自己顶一下
作者: zaqmlp    时间: 2019-7-11 11:21

  1. @echo off
  2. set info=互助互利,支付宝扫码头像,感谢赞助
  3. rem 有问题,可加QQ956535081及时沟通
  4. title %info%
  5. cd /d "%~dp0"
  6. set "指定字符串=xxx"
  7. set confirm=1
  8. powershell -NoProfile -ExecutionPolicy bypass ^
  9.     $files=@(dir -liter '%~dp0' -r^|?{($_.Name -ne '%~nx0') -and ($_.Name.contains('%指定字符串%')) -and ($_ -is [System.IO.FileInfo])});^
  10.     if($files.length -gt 0){^
  11.         if('%confirm%' -eq '1'){^
  12.             write-host (@($files^|%%{$_.FullName}) -join \"`r`n\");^
  13.             write-host '确定删除以上文件?按任意键继续...' -ForegroundColor red;^
  14.             [void][System.Console]::ReadKey(1);^
  15.         };^
  16.         for($i=0;$i -lt $files.length;$i++){del -liter $files[$i].FullName -force};^
  17.     }
  18. echo;%info%
  19. pause
复制代码

作者: Orange_ysen    时间: 2019-7-11 11:37

回复 3# zaqmlp
作者: Batcher    时间: 2019-7-11 15:13

请举例说明什么是“删除两次及以上指定文件”
作者: Orange_ysen    时间: 2019-7-11 15:19

回复 5# Batcher


    就比如说我要删除D:bathome 目录下及其子目录下的a.jpg 和 c.html
作者: kingshui    时间: 2019-7-11 16:57

del 不是可以做到?
作者: Batcher    时间: 2019-7-11 17:16

回复 6# Orange_ysen


test.bat
  1. @echo off
  2. if exist "D:\bathome\" (
  3.     cd /d "D:\bathome"
  4.     del /f /q /s a.jpg c.html
  5. )
复制代码

作者: Orange_ysen    时间: 2019-7-11 17:33

回复 8# Batcher


    感谢 问题解决, 如果删除快捷方式的话 只需要把a.jpg改成   %a%就可以了吗?
作者: Batcher    时间: 2019-7-11 17:51

回复 9# Orange_ysen


    我猜是不行的。为啥你觉得要用%a%呢?
作者: Orange_ysen    时间: 2019-7-11 17:55

回复 10# Batcher


    我是这样想的a 是快捷方式的名字嘛, 通过匹配它的名字去删除,这样做风险有点高,可能会删除同名的其他文件




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2