『楼 主』:
求教DOS高手,出大错了
高手看这是怎么回事?
我是一个好瞎试验的人, 环境是多系统,
C 盘是 9x , D 盘是 xp , E 盘是 2003 ,
经常有某些非正规的软件, 在安装时不检测或说不会检测系统环境;
就想当然地按照软件作者的设想进行安装, 有时会造成一些错误.
如; 在我 C 盘的 "Program Files" 文件夹中经常会出现一个叫
%SystemRoot% 的子文件夹, 这个文件夹可能是我在 9x 环境下试验
安装某些需要在 xp 环境下才能正确安装的软件时形成的.
现在这不是我要说的重点, 我现在说的是删除这个文件夹时遇到的问题.
首选说在 GUI 也就是在窗口环境中删除这个文件夹没有任何问题;
选中, 删除, 很正常地就删除了.
问题是在批处理中删除这个文件夹, 一开始, 由于语句错误, 删除不了.
rd /s /q "C:\Program Files\%SystemRoot%" 由于语句错误, 删除不了;
后来找到了原因, 改为:
rd /s /q "C:\Program Files\%%SystemRoot%%" 正确地删除了.
这也不是重点.
重点是:
在错误语句 rd /s /q "C:\Program Files\%SystemRoot%" 中加暂停显示结果是
要删除的目标是 "C:\Program Files\D:\WINDOWS"
目标是当前操作系统, 且语法不对, 当然删除不了了.
后来我就想, 那个 %SystemRoot% 是环境变量, 我若是将其设空, 不就应该可以了吗.
结果, 我在这个语句之前加了一句;
set SystemRoot=
rd /s /q "C:\Program Files\%SystemRoot%"
结果出大错了!!!
要删除的那个 "C:\Program Files\%SystemRoot%" 文件夹纹丝未动完好无损 !!!
倒是其它文件夹 (且都是系统原装的) 被删得干干净净一无所剩 !!!
这里, 我并不喊救命, 因我有备份, 恢复起来很容易, 只是说这个事 !!!
这就是重点, 我是菜鸟, 实在是吃不透这是怎么回事了.
高手给解解闷吧, 郁闷啊.
|