无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3764|回复: 11
打印 上一主题 下一主题

悬赏了,又来悬赏了,求一个批处理。微信红包!

[复制链接]
跳转到指定楼层
1#
发表于 2017-12-8 23:24:44 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
求一个批处理。要求是删除除指定文件夹外的所有文件夹。比如原位置有AD,AS,ZX,3个文件夹,一个软件运行后会自动生成另外一个文件夹,名称未知,要求保留AD,AS,ZX,,删除另外一个未知的。
推荐
发表于 2017-12-8 23:40:27 | 只看该作者
本帖最后由 nttwqz 于 2017-12-8 23:55 编辑

免费赠送!

  1. @echo off
  2. pushd %~dp0\
  3. for /f "delims=" %%a in ('dir /ad /b *.*') do if /i not "%%~a"=="AD" if /i not "%%~a"=="AS" if /i not "%%~a"=="ZX" rd /s /q "%%~fa"
  4. pause
复制代码

评分

参与人数 1无忧币 +5 收起 理由
kingshui + 5 赞一个!

查看全部评分

回复

使用道具 举报

2#
发表于 2017-12-8 23:31:59 | 只看该作者
我X,钱都这么好赚,这简直是撒人民币啊!
回复

使用道具 举报

3#
 楼主| 发表于 2017-12-8 23:35:43 | 只看该作者
速度回复啊
回复

使用道具 举报

5#
 楼主| 发表于 2017-12-8 23:59:40 | 只看该作者
果然强大,谢谢
回复

使用道具 举报

6#
 楼主| 发表于 2017-12-9 00:00:02 | 只看该作者
请加我微信号xxnh11
回复

使用道具 举报

7#
发表于 2017-12-9 07:37:00 来自手机 | 只看该作者
最好是先列表文件夹,运行程序,运行完再列表,对比出差文件夹,再删除。
回复

使用道具 举报

8#
 楼主| 发表于 2017-12-9 09:28:52 | 只看该作者
窄口牛 发表于 2017-12-9 07:37
最好是先列表文件夹,运行程序,运行完再列表,对比出差文件夹,再删除。

大侠,我正要提这个问题。算是增强要求。
回复

使用道具 举报

9#
发表于 2017-12-9 09:40:52 来自手机 | 只看该作者
批处理不大了解,但易语言或Python写起来so easy
回复

使用道具 举报

10#
发表于 2017-12-9 11:14:13 | 只看该作者

手机,获取链接不容易,:pe部分就是
这个帖子后半部分有最终成品。
回复

使用道具 举报

11#
发表于 2017-12-9 11:29:56 | 只看该作者
本帖最后由 窄口牛 于 2017-12-9 11:43 编辑
  1. @echo off

  2. del /q temp.txt
  3. dir 你的路径 /a /b /a:d >>temp.txt
  4. start /wait 你的exe的路径和名字
  5. for /f "delims=" %%j in ('dir 你的路径 /a /b /a:d^|findstr /i /v /g:temp.txt') do rd /s /q c:\%%j
  6. exit
复制代码
回复

使用道具 举报

12#
发表于 2017-12-10 15:53:34 | 只看该作者

  1. call :dirlist listPre
  2. mkdir Dir2
  3. call :dirlist listLater

  4. rem 删除不同文件夹,删除相同文件夹使用:call :delDir true
  5. call :delDir false

  6. echo 运行前文件夹:%listPre%
  7. echo 运行后文件夹:%listLater%



  8. ::结束批处理
  9. ::======================
  10. goto :EOF
  11. :dirlist
  12. set listTemp=<nul
  13. FOR /F "usebackq tokens=* delims=" %%i in (`dir *.*  /B /A:D`) do (
  14.         set "listTemp=%%i/!listTemp!"
  15. )
  16. set "%~1=%listTemp%"
  17. goto :EOF
  18. ::======================
  19. goto :EOF
  20. :delDir
  21. set listLaterloop=%listLater%
  22. :delDir0
  23. FOR /F "usebackq tokens=1* delims=/" %%i in ( `echo !listLaterloop!` ) do (
  24.         if defined listLaterloop (
  25.                 set "i=%%i"
  26.                 set "j=%%j"
  27.        
  28.                 set "listPreloop=%listPre%"
  29.                 set "found=false"
  30.                 :delDir1
  31.                 FOR /F "usebackq tokens=1* delims=/" %%k in ( `echo !listPreloop!` ) do (
  32.                         if defined listPreloop (
  33.                                 if !i!==%%k set "found=true"
  34.                                 set "listPreloop=%%l" &goto :delDir1
  35.                         )
  36.                 )
  37.                 if !found!==%~1 rd /s /q !i! && echo 已删除文件夹:!i!
  38.                 set "listLaterloop=!j!" &goto :delDir0
  39.         )
  40. )
  41. goto :EOF
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-12-5 02:53

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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