求解一个批处理怎么会进入死循环

2024-12-23 06:16:41
推荐回答(2个)
回答1:

加一个if exist 就不会显示了
@ECHO OFF
IF NOT EXIST E:\RECYCLED\UDrives.{25336920-03F9-11CF-8FD0-00AA00686F13} (MD E:\RECYCLED\UDrives.{25336920-03F9-11CF-8FD0-00AA00686F13}>NUL)
IF EXIST O:\NUL GOTO DELETE
SUBST O: E:\RECYCLED\UDrives.{25336920-03F9-11CF-8FD0-00AA00686F13}
START O:\
GOTO END
:DELETE
SUBST /D O:
:END

pause

IF EXIST O:\NUL GOTO DELETE 这句和 IF EXIST O:\ GOTO DELETE 是等效的
nul表示空吧....
所以你写的那个程序运行第一次可以打开o:\
第二次就解除o:\ 了额
你看是不是这样?

回答2:

我也遇到过相同问题,已经解决了
解决方法:
第一步:
系统属性-高级-环境变量中检查“Path”值是否出错乱码。
如果没有Path可新建,修改Path值为:%SystemRoot%/system32;%SystemRoot%

第二步
@ECHO OFF
MD E:\RECYCLED\UDrives.{25336920-03F9-11CF-8FD0-00AA00686F13}>NUL
IF EXIST O:\NUL GOTO DELETE
SUBST O: E:\RECYCLED\UDrives.{25336920-03F9-11CF-8FD0-00AA00686F13}
START O:\
GOTO END
:delete
SUBST /D O:
:END
保存为XX.cmd文件

搞定收工。