标题: [系统相关] 某些命令在批处理中无效? [打印本页]
作者: Ttaons 时间: 2011-4-9 10:33 标题: 某些命令在批处理中无效?
我发现有好多命令在批处理中无法运行
例如- @echo off
- cacls d:\aa.txt
- pause
复制代码
或者- @echo off
- schtasks /create /tn tname /sc minute /tr e:\dos.bat /mo 1 /st 10:10 /et 10:20
- pause
复制代码
还有诸如choice等命令,在命令提示符下输入都是可以用的,但是写在bat脚本里就不行了
这些批处理执行后都是什么提示都没有,就是一个黑框,这是为什么啊???
作者: jh1688 时间: 2011-4-9 10:58
cacls /? 看帮助……
作者: Ttaons 时间: 2011-4-9 11:52
发帖之前就已经看过了 没用
但是我把代码改为- @echo off
- C:\Windows\System32\cacls.exe d:\aa.txt
- pause
复制代码
这样就可以了···这是为什么?
作者: Batcher 时间: 2011-4-9 15:18
1、不要把批处理保存为cacls.bat或者cacls.cmd
2、检查%PATH%环境变量
作者: hanyeguxing 时间: 2011-4-9 22:02
以楼主的这个代码为例:- @echo off
- cacls d:\aa.txt
- pause
复制代码
,楼主将批处理命名为cacls.bat。
当运行到cacls d:\aa.txt时,因为cacls不是内部命令,所以命令解释器搜索该程序并优先搜索当前目录,文件类型不仅有exe,还有bat和cmd等,于是cmd将cacls当成cacls.bat处理,于是。。。
所以以上代码就相当于:复制代码
无限循环中......
作者: Ttaons 时间: 2011-4-11 09:19
我明白了···谢谢4L,5L····
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |