找回密码
 加入
搜索
查看: 7633|回复: 18

[AU3基础] [已解决]如何调用cmd里相关变量?

 火.. [复制链接]
发表于 2012-11-9 17:55:40 | 显示全部楼层 |阅读模式
本帖最后由 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,各位高人、前辈请多多帮忙,谢谢~~
发表于 2012-11-9 19:45:57 | 显示全部楼层
回复 1# navy

好吧,我承认我太菜了~~
解决不了这个问题~

楼主可以直接告诉我你的bat为什么要写成这样吗?
 楼主| 发表于 2012-11-9 20:50:55 | 显示全部楼层
回复 2# annybaby


我写的代码只是一个范例,我所在的公司是一个笔记本OEM代工厂,所有的exe文件都要在winpe cmd环境下运行(纯winpe环境,无GUI界面,接口都是微软定义的),也就是说所有的exe都是在批处理去执行的,在执行的过程中exe文件需要调用批处理的一些变量。

不过你不要太谦虚,你的帖子我看过,很不错。只可惜好多人开始从AU3转向蟒蛇语言了~~~
发表于 2012-11-9 21:17:33 | 显示全部楼层
回复 3# navy

其实我是想说,你为什么要
set a
set b
这样写??

我估计你是想在通过bat来设定个变量,然后传给后面的exe程序吧??
如果是这样,那么可以
1.用consoleread()函数来完成
2.使用内置的$cmdline变量~~
看一下帮助应该会了~
发表于 2012-11-9 21:52:22 | 显示全部楼层
外部变量?cmd输出?用stdoutread,匹配下读出数据作为运行条件
发表于 2012-11-9 22:08:27 | 显示全部楼层
和获得系统变量是一个道理,只是a的生命周期等于脚本的生命周期。你可以在au3中使用:
MsgBox(0, 0, EnvGet("a"))
发表于 2012-11-9 22:11:06 | 显示全部楼层
本帖最后由 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...不是更好么?
发表于 2012-11-9 22:16:35 | 显示全部楼层
本帖最后由 netegg 于 2012-11-9 22:20 编辑

回复 7# tsui
python
另外能否解释下a,b变量名和1,2变量名的区别
发表于 2012-11-9 22:19:17 | 显示全部楼层
回复 8# netegg

孤陋寡闻了,呵呵
发表于 2012-11-9 22:32:39 | 显示全部楼层
回复 8# netegg

可能我的表述有问题,cmd脚本的%1%2其实和au3里面的$cmdline[]一个意思。
发表于 2012-11-9 22:41:54 | 显示全部楼层
#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)
这样可以不?
发表于 2012-11-9 22:46:55 | 显示全部楼层
回复 6# seeyou

学习了,不错的方法 ~
发表于 2012-11-9 23:06:33 | 显示全部楼层
说实话不是很明白lz的意思,如果是参数不同的话,进程上应该有参数,判断下参数再执行后续脚本就行了
发表于 2012-11-9 23:08:30 | 显示全部楼层
回复 11# 1007236046
这是要做什么?
发表于 2012-11-9 23:11:31 | 显示全部楼层
回复 13# netegg

估计楼主的的意思是,有时候navy.exe运行时需要处理不同的数据,又不方便用GUI
所以希望通过最简单的文本编辑,简单的设定两个变量的值,然后由navy.exe来读取
其实就是用ini配置文件就非常方便了,可是他硬是要这样做~~没办法
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-29 19:20 , Processed in 0.091745 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表