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

回复 2# Nsqs


    你好。你这个bat代码,如何与下面的代码合并成1个bat呢?
  1. @echo off&Setlocal EnableDelayedExpansion
  2. set/p useraa=(输入数字,并按回车键):
  3. set useraa=user%useraa%
  4. echo 变量:%useraa%
  5. pause
复制代码
并且要将你的代码中的456,换成这个变量:%useraa%

就是说:bat代码中,手动输入1个变量值,传送给vbs。
最终实现:用手动输入的变量值,替换某个txt文件中的某个关键字。

谢谢

TOP

回复 2# Nsqs


    这个代码,可以将bat的变量,传递给vbs
vbs,如何实现将txt文件中的关键字替换成变量呢?
  1. @echo off&Setlocal EnableDelayedExpansion
  2. set/p useraa=(输入数字,并按回车键):
  3. set useraa=user%useraa%
  4. echo 变量:%useraa%
  5. pause
  6. cscript //nologo SayHello.vbs "%useraa%"
  7. pause
复制代码
vbs获取bat的变量代码如下:
  1. ' 得到参数对象
  2. Set args = WScript.Arguments
  3. ' 如果参数个数是一个,正常运行,否则提示错误信息并退出。
  4. If args.Count = 1 Then
  5.   ' 得到第一个变量参数name
  6. name = WScript.Arguments(0)
  7.   ' 在标准输出中,即控制台的 通道1 输出一行文字
  8.   WScript.StdOut.WriteLine name & ",你好。"
  9. WScript.Echo name
  10. Else
  11.   ' 在标准错误中,即控制台的 通道2 输出一行文字
  12.   WScript.StdErr.WriteLine "参数个数不为1,请重试。"
  13.   ' 退出程序
  14.   WScript.Quit
  15. End If
复制代码

TOP

回复 2# Nsqs


    麻烦你了。已经解决。。
  1. ' 2>nul&cls&set/p useraa=(输入数字,并按回车键):
  2. ' 2>nul&cls&set useraa=user%useraa%
  3. ' 2>nul&cls&echo 修改为:%useraa%&pause&echo %useraa%>$$
  4. ' 2>nul&cls&dir /s/b/a-d "c:\client\new.bat"|cscript -nologo -e:"vbs" "%~0"&
  5. ' 2>nul&cls&start "" "c:\client\new.bat" &1pause&exit
  6. set fso=CreateObject("Scripting.FileSystemObject")
  7. set ws=wsh.stdin
  8. read0=fso.opentextfile("$$").readall
  9. read0=left(read0,len(read0)-1)
  10. 'msgbox read0
  11. do
  12. f=ws.readline
  13. read=fso.opentextfile(f).readall
  14. result=replace(read,"user231",read0)
  15. fso.createtextfile(f).write result
  16. loop until ws.atendofstream
复制代码

TOP

返回列表