标题: 请大家看一下我这个问题在哪儿
[打印本页]
作者: ygshw
时间: 2006-9-8 05:51
标题: 请大家看一下我这个问题在哪儿
刚刚接触DOS批处理。我想做一个清除电脑垃圾文件的BAT。
做完了运行,可是有点问题
*******************************************************
@echo off
mode con lines=15 cols=62
title 随便弄弄
color fc
echo
echo ____________________________________________________
echo
echo 本操作将清空以下内容
echo
echo
echo Administrator配置文件夹的临时文件
echo IE浏览器缓存文件
echo coockise纪录
echo 上网历史纪录
echo Windows文件夹下的临时文件
echo
echo ____________________________________________________
echo
echo 操作请按[Y] 取消请按[N]
choice /c yn /n
if errorlevel 2 exit
if errorlevel 1 pushd C:\Documents and Settings\Administrator\Local Settings\Temp&rmdir /s/q .
pushd C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files&rmdir /s/q .
pushd C:\Documents and Settings\Administrator\Cookies&del *.* /s/q
pushd C:\Documents and Settings\Administrator\Local Settings\History&del *.* /s/q
pushd C:\WINDOWS\Temp&rmdir /s/q .
cls
color f0
echo
echo
echo ____________________________________________________
echo
echo 操作完毕,请按任意键退出
echo
echo
echo ____________________________________________________
pause>nul
exit
****************************************************
历史文件夹的内容删除不掉,我把del*.*该成rmdir /s/q . 也不行。
不晓得History里的东西如何用命令删除。
另外,怎样让BAT自己识别并选择当前用户是Administrtor还是其它用户,(我的意思是说,让这个批处理实现清除当前用户的配置文件夹中的垃圾文件)
兄弟我刚接触批处理,弄的第一个bat,让大家笑话了。
作者: electronixtar
时间: 2006-9-8 21:30
空格问题,先试试 echo %userprofile%
作者: namejm
时间: 2006-9-9 00:44
你还在用choice?我的妈呀,又一个古董级的系统出现了,嘿嘿。
你的代码存在几个错误:
1、echo后面如果不跟任何内容的话,执行的时候会出错;如果想在屏幕上创建空行,请用echo.;
2、带空格的路径应该用引号括起来,否则,空格之后的内容将被识别为参数,从而导致“参数过多”或者“参数无效”之类的错误;
不知道choice的各个errolevel值的含义如何,对你的errolevel值取得是否正确有所怀疑;
如果是XP的系统,获取当前计算机用户名可以用%username%、当前用户的配置文件夹为%userprofile%,不知道在你的系统上是否适用,不妨一试。