Board logo

标题: 请大家看一下我这个问题在哪儿 [打印本页]

作者: 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%,不知道在你的系统上是否适用,不妨一试。