找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22925|回复: 6

[文本处理] [已解决]怎样把bat传来的变量写入vbs里面?

[复制链接]
发表于 2013-3-6 13:07:54 | 显示全部楼层 |阅读模式
本帖最后由 xiaohang8088 于 2013-3-7 01:57 编辑
  1. @echo off
  2. >test.vbs echo set IP=WScript.Arguments
  3. >>test.vbs echo sql="update GG_ZT set ServerName='%IP(0)%' WHERE MC='OKER'"
  4. >>test.vbs echo WScript.echo "IP更新为:",IP(0)

  5. for /f "tokens=2 delims=[]" %%i in ('ping www.qq.com /n 1 /w 0') do (echo %%i set "IPtem=%%i")
  6. test.vbs %IPtem%
  7. pause
复制代码
sql="update GG_ZT set ServerName='' WHERE MC='OKER'"
写到vbs时servername=''这里是空的 请问如何把获得的IP写进VBS
sql="update GG_ZT set ServerName='1.1.1.1' WHERE MC='OKER'"
这是我想要的结果

请问ServerName='%IP(0)%'这要怎样修改
发表于 2013-3-6 13:24:12 | 显示全部楼层
  1. ServerName='IP(0)'
复制代码
 楼主| 发表于 2013-3-6 16:09:18 | 显示全部楼层
ServerName='IP(0)'  
结果是SQL="update GG_ZT set ServerName='IP(0)' WHERE MC='OKER'"
他直接把整句当字符串输出到VBS里了
 楼主| 发表于 2013-3-6 16:37:46 | 显示全部楼层
自已整好了,谢谢
%IPtem%写这才对
发表于 2013-3-6 19:19:38 | 显示全部楼层
既然 vbs 是由 bat 执行的,就会继承环境变量,所以也可以读环境变量中的 %IPtem%:
  1. @echo off
  2. >test.vbs echo Set ws=WScript.CreateObject("WScript.shell")
  3. >>test.vbs echo IP = ws.ExpandEnvironmentStrings("%IPtem%")
  4. >>test.vbs echo sql="update GG_ZT set ServerName='"^&IP^&"' WHERE MC='OKER'"
  5. >>test.vbs echo WScript.echo "IP更新为:",IP

  6. for /f "tokens=2 delims=[]" %%i in ('ping www.qq.com /n 1 /w 0') do (
  7.    echo %%i
  8.    set "IPtem=%%i"
  9. )
  10. test.vbs %IPtem%
  11. pause
复制代码
发表于 2013-3-6 19:30:17 | 显示全部楼层
回复 4# xiaohang8088


    问题解决后,请编辑顶楼帖子在标题前面注明[已解决],并给回答者加分。
 楼主| 发表于 2013-3-7 01:55:06 | 显示全部楼层
5楼。按你的方法也不行。写入是这样sql="update GG_ZT set ServerName='"&IP&"' WHERE MC='OKER'"  谢谢。。

我直接改为%IPtem% 就好了

谢谢各位了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 01:32 , Processed in 0.026910 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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