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

[文件操作] 【已解决】批处理怎样判断如果是文件夹,则删除?

[复制链接]
发表于 2015-7-27 15:12:49 | 显示全部楼层 |阅读模式
本帖最后由 sophiawang 于 2015-7-30 10:36 编辑

菜鸟提问

在指定路径下,有文件,也有文件夹,如果是文件夹就将其删除

如果判断  if exist 好像文件和文件夹都可以判断

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2015-7-27 16:03:46 | 显示全部楼层
回复 1# sophiawang
  1. for /f "delims=" %%a in ('dir /ad /b') do @echo del /s /f /q "%%a"
复制代码
发表于 2015-7-27 16:04:51 | 显示全部楼层
回复 1# sophiawang


if exist "目录名\"

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

发表于 2015-7-28 14:11:14 | 显示全部楼层
给你我以前写的东西的一个片段.....
希望对你有帮助
  1. if not defined "%files%" set /p files="请拽入要处理的目录 6退出:"
  2. if "%files%" equ "6" exit
  3. if not exist "%files%" @call %sevens% A 文件路径不存在,任意键继续&&pause>nul&&goto main
  4. for %%a in ("%files%") do set "b=%%~aa"
  5. if defined b (if %b:~0,1% neq d (@echo 拽入的不是目录,任意键继续&&pause>nul&&goto main ))
复制代码
发表于 2015-7-28 15:29:40 | 显示全部楼层
直接 rd 就行了,rd 命令不会删除文件
发表于 2015-7-28 17:00:23 | 显示全部楼层
回复 4# 林小七


    可以考虑用3楼的方法改改你以前写的代码
发表于 2015-7-29 10:43:37 | 显示全部楼层
回复 6# Batcher


    3楼的确是好办法。。。
管理大大见笑了,嘿嘿

我的这段代码出自此处 http://www.bathome.net/thread-36676-1-1.html
 楼主| 发表于 2015-7-30 10:36:22 | 显示全部楼层
回复 7# 林小七


    非常感谢大家,在大家的意见下,我用了如下语句可以成功删除指定目录下的文件

cd %CurPath%\tmp\!ProductName!\
if not exist !ProductID! for /f "delims=" %%i in ('dir /ad /b') do RD /S /Q "%%i"
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 21:30 , Processed in 0.022002 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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