[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 如何在两个批处理文件中传递参数?

第一个文件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 编辑 ]

1,如果运行完1立即再运行2,则:
①,把2直接写到1里
②,在1里写call 2.cmd "%name%",2里调用%~1。
2,如果不是,则把%name%保存到文件或注册表中,2里解析并获取这个值。
3,对于方法2,如果不想使用其他位置保存,则可以把%name%的值追加到1里面,前面加:,然后2里面解析1并定位到最后一行,获取值。
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

调用第二个批处理,传递参数
call 2.cmd %name%
第二个批处理中%1调用第一个参数,也就是%name%.传多个参数同理可以%2、%3来接收

TOP

回复 2楼 的帖子

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

TOP

返回列表