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

[文件操作] 批处理文件删除操作 递归判断怎么搞?

[复制链接]
 楼主| 发表于 2021-9-21 10:32:55 | 显示全部楼层
回复 12# Batcher


        del /f /q "%%i\*.*"
       rd "%%i"
我加了个del /f /q "%%i\*.*"
怎么有的时候能删除有的时候不能删除,这是怎么回事
 楼主| 发表于 2021-9-21 10:47:46 | 显示全部楼层
  1. @echo on
  2. pause
  3. cd /d "%~dp0"
  4. (for /f "delims=" %%i in ('dir /b /s /ad 未命名') do (
  5.     del /f /q "%%i\..\*.*"
  6.     move "%%i\*.*" "%%i\.."
  7.     del /f /q "%%i\*.*"
  8.     rd "%%i"
  9. ))>1.txt
复制代码
del /f /q "%%i\*.*"这一句经常不好使,怎么回事
发表于 2021-9-21 10:58:07 | 显示全部楼层
好的!!!!!!!!!!!!!!!
发表于 2021-9-21 21:58:11 | 显示全部楼层
回复 17# swanseabrian


    第6行已经把文件都move走了,第7行是无效的吧。
 楼主| 发表于 2021-9-21 22:05:21 | 显示全部楼层
回复 19# Batcher


    没Move走,move了之后,那文件夹里还有,只是move出来了
发表于 2021-9-21 22:16:31 | 显示全部楼层
回复 20# swanseabrian


    以11楼代码为例,请把执行之前的目录结构和执行之后的目录结构分别发出来看看。
 楼主| 发表于 2021-9-21 22:23:58 | 显示全部楼层
回复 21# Batcher


    链接:https://pan.baidu.com/s/1V17BP715K3UEcdwwka8pXA
提取码:1111
这是数据
发表于 2021-9-22 06:47:28 | 显示全部楼层
回复 10# swanseabrian
忽视了for /r /d的特性了,在这里需要加个判断即可:
  1. @echo off
  2. for /r /d %%a in (未命名) do (
  3. if exist "%%a" (
  4.     del "%%~dpa*.jpg"
  5.     move "%%a\*.*" "%%~dpa"
  6.     rd "%%a"
  7. )
  8. )
  9. pause
复制代码
因为rd上一句代码已经将文件夹中的文件移出,如果不存在子文件夹的话,%%a就成了空文件夹,rd可不加任何参数。
 楼主| 发表于 2021-9-22 09:04:23 | 显示全部楼层
回复 23# qixiaobin0715


    好的,谢谢,用-f挺好用的
 楼主| 发表于 2021-9-22 09:05:29 | 显示全部楼层
回复 21# Batcher


    刚看了下,里面嵌套了好几个未命名,只有move就可以了,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 03:52 , Processed in 0.029702 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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