Originally posted by 无奈何 at 2006-8-17 10:03:
RE zrz000
你要的是不是这种效果:
在批处理中用下面的代码:
真心感谢。作者: zrz444 时间: 2006-8-17 10:49 运行了以后可以执行了..谢谢 .无奈何版主.能解释一下.为什么我的就不能执行.你的却能呢?好人做到底啊.
start cmd /c for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
start cmd /c "(for %i in (%windir%\system32\*.dll) do @echo %i) &pause"
我批处理才学习三天哪.不懂的...乱来来的../作者: bagpipe 时间: 2006-8-17 11:05 其实要我说用不着START命令,直接
cmd /c "(for %i in (%windir%\system32\*.dll) do @echo %i) &pause" 或者
cmd /c ((for %i in (%windir%\system32\*.dll) do @echo %i) &pause)就可以了,至于你的代码
@echo off
start cmd
pause
for %%1 in (%windir%\system32\*.dll) do echo %%1
是可以执行成功的,只不过你用start cmd 启动了另外一个CMD的SHELL,而你
for %%1 in (%windir%\system32\*.dll) do echo %%1这句是运行在原来的CMD的SHELL中,之所以无奈何版主的代码:
start cmd /c "(for %%i in (%%windir%%\system32\*.dll) do @echo %%i) &pause"
可以,是因为后面的执行的语句是作为你新SHELL的参数来执行的,DO YOU UNDERSTAND ???作者: namejm 时间: 2006-8-17 11:26 无奈何9楼的帖子很酷,如果连论坛管理都可以用批处理来弄的话,那真是太强了。
弱弱地问一句:真的有这样的批处理吗?记得willsort曾经说过他是用模块在管理论坛的。
[ Last edited by namejm on 2006-8-17 at 13:01 ]作者: zrz000 时间: 2006-8-17 11:57 YES SIR .I UNDERSTAND! THANK YOU!!作者: 无奈何 时间: 2006-8-17 12:29 RE zrz000 444
bagpipe 兄的解释已经很清楚了,我猜想你的目的是想弹出一个CMD窗口来显示执行信息。你将echo %%i 替换为你的执行语句就可以了。
RE namejm
这是我正在构思的一个脚本,借助 gawk 在技术上没有太大问题,现在我在考虑怎么增加一些默认选项尽可能的方便、怎么接收输入操作量更小、怎么才能适应多种不同操作等一些细节问题。具体什么时候出来成品看我时间的宽裕程度。兄有兴趣也可以尝试完成一下,要想完善的话需要花一些心思,有点挑战性的。作者: zrz000 时间: 2006-8-17 13:18 感谢无奈何和bagpipe的热心解答:
不过新问题又来了.执行后出来的效果是:regsvr32.exe /s %1
而不是我要的效果:regsvr32.exe c\winnt\wystem\*.dll
Originally posted by 无奈何 at 2006-8-17 12:29:
RE namejm
这是我正在构思的一个脚本,借助 gawk 在技术上没有太大问题,现在我在考虑怎么增加一些默认选项尽可能的方便、怎么接收输入操作量更小、怎么才能适应多种不同操作等一些细节问题。具体什么时候出来成品看我时间的宽裕程度。兄有兴趣也可以尝试完成一下,要想完善的话需要花一些心思,有点挑战性的。