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

[文件操作] 【已解决】批处理删除某个目录下指定的文件

如果”F:\作业“文件夹及很多它的子文件夹里面都有“谁骂本人.doc”这个文件,你一个个找到然后删除是不是太麻烦?我就写这几句能解决问题了。能显示位置和确认一下,但有多此一举之嫌。
@echo off
setlocal enabledelayedexpansion
for /r F:\作业  %%i in (谁骂本人.doc)  do (
echo %%~fi
if exist %%~fi  (
set /p c=输入y后将删除"%%~fi":
if !c!==y del /q/f "%%~fi" && echo success delete
)
)
pause>nul

[ 本帖最后由 irresolute 于 2009-3-12 22:37 编辑 ]
1

评分人数

    • Batcher: 感谢主动给标题标注[已解决]字样PB + 2

回ls

兄弟:你没看楚就说了。
如果”F:\作业“文件夹及很多它的子文件夹里面都有“谁骂本人.doc”这个文件,你一个个找到然后删除是不是太麻烦?我就写这几句能解决问题了。当然有比这更简单的解决办法,只是我不会。

TOP

稍改了下

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /p c=请输入要删除的文件名:
  4. for /r F:\作业  %%i in (%c%)  do (
  5. echo %%~fi
  6. if exist %%~fi  (
  7. set /p c=输入y后将删除"%%~fi":
  8. if !c!==y del /q/f "%%~fi" && echo success delete
  9. )
  10. )
  11. pause>nul
复制代码
删除时能确认下

TOP

谢高手们指导

其实做之前我也想过/s参数

删除一个或数个文件。

DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names

  names         指定一个或数个文件或目录列表。通配符可被用来
                删除多个文件。如果指定了一个目录,目录中的所
                有文件都会被删除。

  /P            删除每一个文件之前提示确认。
  /F            强制删除只读文件。
  /S            从所有子目录删除指定文件。
  /Q            安静模式。删除全局通配符时,不要求确认。
  /A            根据属性选择要删除的文件。
  attributes      R  只读文件                     S  系统文件
                  H  隐藏文件                     A  存档文件
                  -  表示“否”的前缀

如果命令扩展名被启用,DEL 和 ERASE 会如下改变:

/S 开关的显示句法会颠倒,即只显示已经
删除的文件,而不显示找不到的文件。

TOP

返回列表