Board logo

标题: [文本处理] 如何在两个批处理文件中传递参数? [打印本页]

作者: alizee    时间: 2010-6-8 15:28     标题: 如何在两个批处理文件中传递参数?

第一个文件1.cmd是设置了一个名称BEJB-SCTFADS01,并使用远程访问工具调用了批处理程序ESP_InstallFiles_Check.cmd
代码如下:
set name=BEJB-SCTFADS01
psexec @C:\temp\data\test\BB_ESP_Node.txt -u DS\-sfastsearch -p Blue17Garden C:\TEMP\data\check\ESP_InstallFiles_Check.cmd

第二个文件2.cmd要使用name 参数
其中的一条语句如下:
echo   %computername% >> [url=file://\\%name%\C$\temp\data\test\result.txt]\\%name%\C$\temp\data\test\result.txt[/url]

应该如何正确的书写可以使第二个文件里的name参数使用第一个文件中的name值?

[ 本帖最后由 alizee 于 2010-6-8 15:34 编辑 ]
作者: hanyeguxing    时间: 2010-6-8 15:56

1,如果运行完1立即再运行2,则:
①,把2直接写到1里
②,在1里写call 2.cmd "%name%",2里调用%~1。
2,如果不是,则把%name%保存到文件或注册表中,2里解析并获取这个值。
3,对于方法2,如果不想使用其他位置保存,则可以把%name%的值追加到1里面,前面加:,然后2里面解析1并定位到最后一行,获取值。
作者: hb_135    时间: 2010-6-9 17:35

调用第二个批处理,传递参数
call 2.cmd %name%
第二个批处理中%1调用第一个参数,也就是%name%.传多个参数同理可以%2、%3来接收
作者: alizee    时间: 2010-6-10 10:48     标题: 回复 2楼 的帖子

谢谢,
现在的问题是使用了一个远程登录工具psexec,如果直接在后面写call 2.cmd %name%,会返回错误结果,应该怎么写呢?
psexec @C:\temp\data\test\BB_ESP_Node.txt -u DS\-sfastsearch -p Blue17Garden call 2.cmd %name%




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2