[已解决]如何调用cmd里相关变量?
本帖最后由 navy 于 2012-11-10 20:18 编辑如题,写了一个批处理test.bat,内容如下
@echo off
set a=1
set b=2
call navy.exe
pause
请问用au3编写的navy.exe 如何调用变量a以及变量b,各位高人、前辈请多多帮忙,谢谢~~ 回复 1# navy
好吧,我承认我太菜了~~
解决不了这个问题~
楼主可以直接告诉我你的bat为什么要写成这样吗? 回复 2# annybaby
我写的代码只是一个范例,我所在的公司是一个笔记本OEM代工厂,所有的exe文件都要在winpe cmd环境下运行(纯winpe环境,无GUI界面,接口都是微软定义的),也就是说所有的exe都是在批处理去执行的,在执行的过程中exe文件需要调用批处理的一些变量。
不过你不要太谦虚,你的帖子我看过,很不错。只可惜好多人开始从AU3转向蟒蛇语言了~~~ 回复 3# navy
其实我是想说,你为什么要
set a
set b
这样写??
我估计你是想在通过bat来设定个变量,然后传给后面的exe程序吧??
如果是这样,那么可以
1.用consoleread()函数来完成
2.使用内置的$cmdline变量~~
看一下帮助应该会了~ 外部变量?cmd输出?用stdoutread,匹配下读出数据作为运行条件 和获得系统变量是一个道理,只是a的生命周期等于脚本的生命周期。你可以在au3中使用:
MsgBox(0, 0, EnvGet("a")) 本帖最后由 tsui 于 2012-11-9 22:17 编辑
@echo off
set a=1
set b=2
call navy.exe %a% %b%
pause
rem 楼主能告诉我什么叫蟒蛇语言吗?
rem 还有不建议在脚本里面设置类似a和b这些变量,navy.exe直接调用脚本自己的变量%1%2...不是更好么? 本帖最后由 netegg 于 2012-11-9 22:20 编辑
回复 7# tsui
python
另外能否解释下a,b变量名和1,2变量名的区别 回复 8# netegg
孤陋寡闻了,呵呵 回复 8# netegg
可能我的表述有问题,cmd脚本的%1%2其实和au3里面的$cmdline[]一个意思。 #Region ;**** 参数创建于 ACNWrapper_GUI ****
#PRE_Outfile=navy.exe
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
$file = FileOpen("test.bat",0)
While 1
Local $line = FileReadLine($file)
If @error = -1 Then ExitLoop
MsgBox(4096, "读取的行:", $line)
WEnd
FileClose($file)
这样可以不? 回复 6# seeyou
学习了,不错的方法 ~ 说实话不是很明白lz的意思,如果是参数不同的话,进程上应该有参数,判断下参数再执行后续脚本就行了 回复 11# 1007236046
这是要做什么? 回复 13# netegg
估计楼主的的意思是,有时候navy.exe运行时需要处理不同的数据,又不方便用GUI
所以希望通过最简单的文本编辑,简单的设定两个变量的值,然后由navy.exe来读取
其实就是用ini配置文件就非常方便了,可是他硬是要这样做~~没办法
页:
[1]
2