找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 89|回复: 8

是时候求会bat技术大佬教下小弟了

[复制链接]

7

主题

129

回帖

287

积分

中级会员

积分
287
发表于 2018-4-8 12:55:00 | 显示全部楼层 |阅读模式
有没有大佬会批处理命令的= =怎么删除除了指定文件夹以外的所有文件与文件夹,不能留空文件夹在。我试了好几个都是要么删不干净~要么删不了,不能留空文件夹。求大佬
回复

使用道具 举报

0

主题

3

回帖

8

积分

新手上路

积分
8
发表于 2018-4-8 17:55:33 | 显示全部楼层
只模拟不删除,有提示信息的,如果都对再添加删除命令就可以了,试试看吧
因为机器不一样可能skip=3 tokens=4,*这个参数可能需要调整

dir1、dir2、dir3代表不被删除的文件夹
file1代表不被删除的文件,因为文件名是clear.bat,所以这里保护一下,以免自删

--- clear.bat ---

[ol]
  • @echo off
  • cd /d "%~dp0"
  • setlocal enabledelayedexpansion
  • set dir1="dir1"
  • set dir2="dir2"
  • set dir3="dir3"
  • set file1="clear.bat"
  • for /F "skip=3 tokens=4,*" %%i in ('dir^|find ":"') do (
  • set type=%%i
  • set name=%%j
  • if "!type!"=="" (
  •         set protect=0
  •         call:protect_dir
  •         if !protect! EQU 0 (
  •                 echo delete ^ "!name!"
  •         ) else (
  •                 echo protect ^ !name!
  •         )
  • ) else (
  •         set protect=0
  •         call:protect_file
  •         if !protect! EQU 0 (
  •                 echo delete ^ "!name!"
  •         ) else (
  •                 echo protect ^ !name!
  •         )
  •         
  • )
  • )
  • pause>nul
  • goto :eof
  • :protect_dir
  • if "!name!"==!dir1! set protect=1
  • if "!name!"==!dir2! set protect=1
  • if "!name!"==!dir3! set protect=1
  • :protect_file
  • if "!name!"==!file1! set protect=1
  • [/ol]复制代码

  • 回复

    使用道具 举报

    7

    主题

    129

    回帖

    287

    积分

    中级会员

    积分
    287
     楼主| 发表于 2018-4-8 13:03:19 | 显示全部楼层
    没有大佬在么= =
    回复

    使用道具 举报

    158

    主题

    1110

    回帖

    2744

    积分

    金牌会员

    积分
    2744
    发表于 2018-4-8 15:30:13 | 显示全部楼层
    只会python
    回复

    使用道具 举报

    391

    主题

    3492

    回帖

    8179

    积分

    论坛元老

    积分
    8179
    发表于 2018-4-8 15:52:06 | 显示全部楼层
    BAT=百度、阿里、腾讯   是巧合?
    回复

    使用道具 举报

    7

    主题

    129

    回帖

    287

    积分

    中级会员

    积分
    287
     楼主| 发表于 2018-4-8 18:30:54 | 显示全部楼层

    leaveoff 发表于 2018-4-8 15:52

    BAT=百度、阿里、腾讯   是巧合?

    就是巧合
    回复

    使用道具 举报

    6

    主题

    160

    回帖

    350

    积分

    中级会员

    积分
    350
    发表于 2018-4-8 15:52:00 | 显示全部楼层


    不会
    回复

    使用道具 举报

    7

    主题

    129

    回帖

    287

    积分

    中级会员

    积分
    287
     楼主| 发表于 2018-4-8 18:32:22 | 显示全部楼层

    efcv 发表于 2018-4-8 17:55

    只模拟不删除,有提示信息的,如果都对再添加删除命令就可以了,试试看吧
    因为机器不一样可能skip=3 tokens ...

    支持中文名字的文件夹么?
    回复

    使用道具 举报

    0

    主题

    3

    回帖

    8

    积分

    新手上路

    积分
    8
    发表于 2018-4-12 16:45:52 | 显示全部楼层

    Hanyoking 发表于 2018-4-12 16:45

    支持中文名字的文件夹么?

    用ansi编码格式可以的
    回复

    使用道具 举报

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

    本版积分规则

    Archiver|手机版|小黑屋|Discuz! X

    GMT+8, 2025-2-23 07:04 , Processed in 0.023653 second(s), 6 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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