经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Windows » 查看文章
bat文件与Vbs文件之间的常用操作(获取用户输入,执行VBS文件)
来源:jb51  时间:2022/11/19 17:12:51  对本文有异议

bat文件

  1. set /P StrInput="输入数字:"
  2. echo 输入的数字为%StrInput%
  3. set /P Flg="是否执行(y/n):"
  4. IF "%Flg%" equ "y" (
  5. echo 执行命令
  6. cscript abc.vbs "%StrInput%"
  7. )

注意:

等于号(=)之间不能有空格,不然会出错。

判断值大小最好使用equ之类。

条件判断后的括号的有空格。

 VBS文件

获取外部参数

写文件

WebAPI操作

日期与TimeStamp变换

  1. Dim WshShell
  2. Dim CurDir
  3. Dim oParam
  4.  
  5. '取参数
  6. Set oParam = WScript.Arguments
  7.  
  8. if oParam.Count>0 Then
  9.  
  10. Else
  11. WScript.Quit
  12. End if
  13.  
  14. '获取当前路径
  15. Set WshShell = WScript.CreateObject("WScript.Shell")
  16. CurDir = WshShell.CurrentDirectory
  17.  
  18. '写文件操作
  19. Function OutputData(filename)
  20. Dim objFSOW
  21. Dim objFileW
  22.  
  23. Set objFSOW = WScript.CreateObject("Scripting.FileSystemObject")
  24. Set objFileW = objFSOW.OpenTextFile(filename,2,True)
  25. objFileW.Write(filename)
  26. objFileW.Write(vbCrLf)
  27. objFileW.Write(vbTab)
  28.  
  29. Set objFileW = Nothing
  30. Set objFSOW =Nothing
  31.  
  32. End Function
  33.  
  34. 'WebAPI操作
  35. 'params = "{""method"":""get"",""ID"":""12""}"
  36. Function RequestAPI(url,params)
  37. Dim oHttp
  38. Set oHttp = CreateObject("MSXML2.ServerXMLHTTP")
  39. on error resume next
  40. oHttp.Open "POST",url,False
  41. If Err Then
  42. RequestAPI = Err.Description
  43. End If
  44. On Error Goto 0
  45.  
  46. oHttp.SetRequestHeader "Content-Type","application/json"
  47. oHttp.Send params
  48.  
  49. If oHttp.readyState<>4 Then
  50. oHttp.waitForResponse(10)
  51. End If
  52.  
  53. RequestAPI = oHttp.ResponseText
  54.  
  55. Set oHttp = Nothing
  56.  
  57. End Function
  58.  
  59. 'TimeStamp -> Date
  60. Function FormatDate(timestamp)
  61. FormatDate = DateAdd("s",CLng(timestamp),"01/01/1970 00:00:00")
  62. End Function
  63.  
  64. 'Date ->TimeStamp
  65. Function DateToTimeStamp(dateValue)
  66. DateToTimeStamp = DateDiff("s","01/01/1970 00:00:00",dateValue)
  67. End Function

vbs服务器bat文件,window下批处理操作:bat文件中调用vbs

  1. @echo "kill CRT process"
  2. taskkill /F /IM SecureCRT.exe
  3. ::ping 127.0.0.1 -n 30
  4. echo "start vos through CRT"
  5. echo off
  6. d:
  7. cd D:\tools\SecureCRT_x86
  8. start SecureCRT.EXE /SCRIPT D:\Secure_vos\Start_vos.vbs
  9. echo "start vos through CRT end"
  10. ping 127.0.0.1 -n 4
  11. pause

上述代码的意思是:在.bat文件中执行Start_vos.vbs文件

批处理执行文件之前首先需要下载SecureCRT.exe文件

Start_vos.vbs文件内容如下:

  1. On Error Resume Next
  2. Dim result
  3. If crt.Session.Connected Then crt.Session.Disconnect
  4. ' connected to the '172.21.1.114'
  5. Set objtab = crt.Session.ConnectInTab("/SSH2 /PASSWORD root root@172.21.1.114",True)
  6. ' Capture error code and description (if any)
  7. nError = Err.Number
  8. strErr = Err.Description
  9. ' Now, tell the script host that it should handle errors as usual now:
  10. On Error Goto 0
  11. ' change tab name
  12. objtab.caption = "Gdb_vos"
  13. ' enter the folder
  14. crt.Screen.Send "cd /home/test" & chr(13)
  15. crt.Screen.WaitForString chr(27) & "[32m(none) /home/test" & chr(27) & "[m # "
  16. End Sub

上述代码主要是将手动输入的过程使用VBS脚本进行自动化
首先:Set objtab = crt.Session.ConnectInTab("/SSH2 /PASSWORD root123 root@172.11.1.15",True)
采用SSH2的方式连接linuxIP地址172.21.1.114,密码是root123,用户名是rootobjtab.caption = "Start_vos"
将当前连接页面重命名为Start_voscrt.Screen.Send "cd /home/test" & chr(13)输入cd /home/test并回车
crt.Screen.WaitForString chr(27) & "[32m(none) /home/test" & chr(27) & "[m # "等待页面下一行的内容为chr(27) & "[32m(none) /home/test" & chr(27) & "[m # "

到此这篇关于bat文件与Vbs文件之间的常用操作(获取用户输入,执行VBS文件)的文章就介绍到这了,更多相关bat获取用户输入,执行VBS文件内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号