Board logo

标题: [文件操作] 请教 删除全盘的指定文件或文件夹的BAT代码? [打印本页]

作者: tangqingfu    时间: 2013-5-24 15:11     标题: 请教 删除全盘的指定文件或文件夹的BAT代码?

本帖最后由 tangqingfu 于 2013-5-29 18:41 编辑

请教在全盘删除指定文件或文件夹的代码该如何编写?
1、比如说在硬盘上有名为“试卷辅助工具.exe”的文件,请教如何编写代码将其删除?
2、如果在硬盘或U盘上有名为“试卷辅助工具.exe”的文件,请教如何编写代码将其删除?
3、如果硬盘上有名为“试卷辅助工具”的文件夹,请教如何编写代码将其删除?
4、如果硬盘或U盘上有名为“试卷辅助工具”的文件夹,请教如何编写代码将其删除?
这里所说的U盘盘符是动态,比如说在一台电脑上U盘是G盘,在别一台电脑上U盘可能是H盘
作者: Batcher    时间: 2013-5-24 15:16

http://www.bathome.net/thread-3465-1-1.html
作者: tangqingfu    时间: 2013-5-24 15:23

回复 2# Batcher
主要是想搜索后将其删除,请教如何编写代码?
作者: Python    时间: 2013-5-24 15:57

回复 3# tangqingfu


    把搜索的代码里面那个用来显示结果的echo改成删除命令
作者: tangqingfu    时间: 2013-5-24 16:07

回复 4# Python

呵呵,不懂得如何修改,能否请Python兄出手相助?(能否考虑指定文件夹或指定文件为隐藏的情况)
作者: tangqingfu    时间: 2013-5-24 19:01

求助ing……
作者: tangqingfu    时间: 2013-5-27 12:50

  1. @echo off
  2. for %%a in (c d e f g h) do (
  3. for /f "delims=" %%b in ('dir/ad/s/b "%%a:\"^|findstr /i "\test$"') do (
  4. rd /s /q "%%b" >nul 2>nul
  5. ))
复制代码
上面的代码是全盘查找"test"文件夹,找到后删除文件夹"test"。此批处理命令支持在子目录中查找文件夹"test",且无论文件夹"abc"内是否还有其他文件都将被删除。
可是也会把其他名称中含有test的其他文件夹也删除,请教如何修改代码,使之只删除以test开头的文件夹或仅删除名为“test”的文件夹(精确删除)?
作者: terse    时间: 2013-5-27 17:00

  1. findstr /ie "\\test"
复制代码

作者: tangqingfu    时间: 2013-5-27 23:23

回复 8# terse
谢谢,测试通过!
能否说说二者的不同?
作者: terse    时间: 2013-5-27 23:46

回复 9# tangqingfu
\ 这个要转义 的
作者: tangqingfu    时间: 2013-5-28 21:14

回复 11# 处理学习
  1. @echo off
  2. for %%a in (c d e f g h) do (
  3. for /f "delims=" %%b in ('dir/ad/s/b "%%a:\"^|findstr /ie "\\test"') do (
  4. rd /s /q "%%b" >nul 2>nul
  5. ))
复制代码
这个不会误删。误删能否恢复,我也不清楚,可能很难!




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