标题: [文件操作] [已解决谁帮忙完善下删除不必要文件的批处理? [打印本页]
作者: wuzhuo1987 时间: 2010-12-12 19:38 标题: [已解决谁帮忙完善下删除不必要文件的批处理?
本人批处理小白,刚接触学习批处理,很多都不懂,望高手指点下
详细内容在附件里
这是我写的草稿···但不完善- echo off
- cls
- color 1f
- echo.
- echo.
- echo.
- echo.
- echo.
- echo ╭────────╮
- echo ╭─────────┤ 功 能 说 明 ├─────────╮
- echo │ ╰────────╯ │
- echo │ │
- echo │ ★☆★→删除一些不需要的文件夹←★☆★ │
- echo │ │
- echo │ │
- echo ╰────────────────────────────╯
- echo.
- echo 敬告:请先将本程序放在目录interface文件夹内
- echo 再运行本程序
- echo.
- echo.
- echo →若【已】将本程序放入interface文件夹内,按任意键继续
- echo →若【未】将本程序放入interface文件夹内,点右上角X退出
- echo.
- echo.
- echo.
- echo.
- pause
- rd /s /q test_002
- rd /s /q test_008
- rd /s /q test_009
- rd /s /q test_012
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- echo ╭─────────────────────╮
- echo │ │
- echo │ 整理完毕,按任意键退出... │
- echo │ │
- echo ╰─────────────────────╯
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- echo.
- pause
复制代码
(为什么我画的框在本地对齐的,**坛上全错位了···)
--------------------------------------------------------------------------
目录结构为:
一个文件夹interface,
此文件夹内含有“删除测试.bat”,“config.ini”,及其他几个可能被删除的文件夹
具体功能就是:
利用“删除测试.bat”调用“config.ini”内的名单,
删除interface文件夹内的对应的文件夹
比如:config.ini内的名单为 test_003 和 test_007
那么我执行“删除测试.bat”,就删除interface文件夹内的“test_003”,"test_007"
这2个文件夹
--------------------------------------------------------------------------
1.能否在此批处理刚运行时检测自己是否在interface目录内(相对路径,检测自己所在的目录名为interface就行)
若在 interface目录内,则继续执行后面语句,即:删除功能
若不在interface目录内,则显示下面的界面,并结束本程序
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo ╭──────────────────────────────────╮
echo │ │
echo │ 本程序不在interface文件夹内,按任意键退出... │
echo │ │
echo ╰──────────────────────────────────╯
echo.
echo.
echo.
echo.
echo.
echo.
echo.
2.目前我写的语句中,把要删除的文件夹给固定了,但这些文件夹名或许会变动
就考虑是否能让批处理调用一个配置文件“config.ini”呢?
“config.ini”内列出需要被删除的文件夹的名字,并且可以在后面添加备注
(配置文件可以不是ini后缀,txt也行,能调用里面内容就行)
3.“config.ini”内我不知道怎么添加备注,也就是说可以在被删除的名单后添加备注,
但不影响“删除测试.bat”的调用...
作者: hanyeguxing 时间: 2010-12-12 19:56
1,代码- @echo off
- for %%a in ("%cd%") do if /i not "%%~na"=="interface" echo 目录错误&pause&exit
- if not exist config.ini (echo config.ini不存在&pause&exit) else for /f "delims=|" %%a in (config.ini) do (
- del /q/s/f/a "%%a" 2>nul
- rd /q/s "%%a" 2>nul
- )
复制代码
2,del是用来预先删除目录内可能存在的隐藏或系统属性文件,因为rd无法删除这些。
3,config.ini中文件夹名与备注之间使用|,管道符号。
4,楼主做的又不是特效代码,就不要在界面上弄那么花哨。。。
5,以下为config.ini示例:;说明:文件夹名与备注之间使用|分隔
test_001|备注名001
test_002|备注名002
test_003|备注名003
test_004|备注名004
test_005|备注名005
test_006|备注名006
test_007|备注名007
[ 本帖最后由 hanyeguxing 于 2010-12-12 20:11 编辑 ]
作者: wuzhuo1987 时间: 2010-12-12 20:04
原帖由 hanyeguxing 于 2010-12-12 19:56 发表
1,代码@echo off
for %%a in ("%cd%") do if /i not "%%~na"=="interface" echo 目录错误&pause&exit
for /f "delims=|" %%a in (config.ini) do (
del /q/s/f/a "%%a"
rd /q/s "%%a"
)2,config.ini中文件夹名 ...
谢谢您的意见,我再分析下你的代码,加点界面
主要是我本身就够小白的,再加上我给别人做的
她比我更小白,看到命令行之类的就头痛,
还是做个界面,对她来说,直观点
不然她一看到命令行就脑袋冒星星
[ 本帖最后由 wuzhuo1987 于 2010-12-12 20:06 编辑 ]
作者: bailang3106 时间: 2010-12-12 20:12
呵呵 给女友做的.. 够细心的.
作者: hanyeguxing 时间: 2010-12-12 20:38
三、五行代码就能完成的事,非的弄成这样。。。- @echo off&color 1f
- set "Han=※ 删除一些不需要的文件夹 ※"
- set Ye=警告:请先将本程序放在目录interface文件夹内
- call:Gu
- pause
- for %%a in ("%cd%") do if /i not "%%~na"=="interface" (
- set Han=本程序不在interface文件夹内.
- set Ye=请按任意键退出
- goto:Gu
- )
- if not exist config.ini (
- set "Han=※错误: config.ini 不存在※"
- set Ye=请按任意键退出
- goto:Gu
- )
- for /f "delims=|" %%a in (config.ini) do (
- del /q/s/f/a "%%a" 2>nul
- rd /q/s "%%a" 2>nul
- )
- set "Han=整理完毕,按任意键退出......"
- set Ye=制作:Hanyeguxing
- :Gu
- echo/
- echo/
- echo/
- echo/
- echo/
- echo/ ╭────────╮
- echo/ ╭─────────┤ 说 明 ├─────────╮
- echo/ │ ╰────────╯ │
- echo/ │ │
- echo/ │ ★☆★→%Han%←★☆★ │
- echo/ │ │
- echo/ │ │
- echo/ ╰────────────────────────────╯
- echo/
- echo/
- echo/
- echo/ %Ye%
- echo/
- echo/
- echo/
- echo/
- echo/
- echo/
- echo/
- pause
复制代码
作者: wuzhuo1987 时间: 2010-12-12 21:07
原帖由 hanyeguxing 于 2010-12-12 20:38 发表
三、五行代码就能完成的事,非的弄成这样。。。@echo off&color 1f
set "Han=※ 删除一些不需要的文件夹 ※"
set Ye=警告:请先将本程序放在目录interface文件夹内
call:Gu
pause
for %%a in ("%cd%") do if /i ...
谢谢了,
我自己用的话,不会弄界面了,把名单直接放bat里了
主要是给别个弄的,全命令看不懂
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |