|
sunyao
初级用户
积分 141
发帖 60
注册 2006-10-28 来自 天津
状态 离线
|
『楼 主』:
征集批处理接受脚本语言返回结果的方法!
在批处理文件中接受vbs等其他脚本语言的返回结果的方法!!
|
|
2006-11-7 04:00 |
|
|
sunyao
初级用户
积分 141
发帖 60
注册 2006-10-28 来自 天津
状态 离线
|
『第
2 楼』:
先举一例子引用youxi01用户的例子:
看看以下代码:
@echo off
::写一个求字符串长度的vbs文件
echo temp=wscript.arguments(0) >temp.vbe
echo for i=1 to len(temp) >>temp.vbe
echo if asc(mid(temp,i,1))^<0 then >>temp.vbe
echo strlen=strlen+2 >>temp.vbe
echo else >>temp.vbe
echo strlen=strlen+1 >>temp.vbe
echo end if >>temp.vbe
echo next >>temp.vbe
echo wscript.echo strlen >>temp.vbe
:Start
set /p EN=请输入字符串:(直接回车退出)=
if not defined EN goto :Over
::获取vbe文件的执行结果
for /f %%i in ('cscript.exe temp.vbe %EN% //nologo') do echo.&echo 字符串长度为: %%i
set EN=
goto :Start
:Over
::删除生成的文件
del temp.vbe
这一句是关键:
for /f %%i in ('cscript.exe temp.vbe %EN% //nologo') do ......
利用for循环,读取vbs返回结果,也可以算是批处理接受脚本语言返回结果的一种解决办法吧。(当然在本程序中,没必要一定要使用for)
|
|
2006-11-7 04:02 |
|
|
electronixtar
铂金会员
积分 7493
发帖 2672
注册 2005-9-2
状态 离线
|
『第
3 楼』:
1. 临时文件
2. 参数
3. 变量
4. 输出重定向
|
C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>" |
|
2006-11-7 05:13 |
|
|
sunyao
初级用户
积分 141
发帖 60
注册 2006-10-28 来自 天津
状态 离线
|
|
2006-11-7 05:28 |
|
|
youxi01
高级用户
积分 846
发帖 247
注册 2006-10-27 来自 湖南==》广东
状态 离线
|
『第
5 楼』:
electronixtar的意思是,先用vbs脚本或者其它程序将返回结果写入文件,然后利用批处理读取文件就行了。
|
|
2006-11-7 05:39 |
|
|
sunyao
初级用户
积分 141
发帖 60
注册 2006-10-28 来自 天津
状态 离线
|
『第
6 楼』:
哦 我明白了
youxi01可是用for /f %%i in ('C:\bea\weblogic91\common\bin\wlst.cmd startserver.py %status% //Nologo') do echo %%i方法不好使
|
|
2006-11-7 05:48 |
|
|
sunyao
初级用户
积分 141
发帖 60
注册 2006-10-28 来自 天津
状态 离线
|
『第
7 楼』:
electronixtar
麻烦能不能举一个vbs脚本将返回结果写入文件,然后利用批处理读取文件的例子。
谢谢!!
|
|
2006-11-7 06:45 |
|
|
electronixtar
铂金会员
积分 7493
发帖 2672
注册 2005-9-2
状态 离线
|
『第
8 楼』:
这个~~我写一个吧
a.vbs
CreateObject("Scripting.FileSystemObject").CreateTextFile("test.txt").write "hello" b.bat
for /f %a in ("test.txt") do @echo %a 其实我的批处理真的很菜~
|
C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>" |
|
2006-11-7 08:34 |
|
|
sunyao
初级用户
积分 141
发帖 60
注册 2006-10-28 来自 天津
状态 离线
|
『第
9 楼』:
我现在用
for /f %%i in ('C:\bea\weblogic91\common\bin\wlst.cmd startserver.py %status% //Nologo') do echo %%i
我想在startserver.py文件中取出变量status的值
怎么就去不出来呢 快疯了
|
|
2006-11-7 22:56 |
|
|
zerocq
中级用户
积分 458
发帖 196
注册 2006-10-5
状态 离线
|
『第
10 楼』:
把批处理分成两部分第一部分调用vbs产生参数
再让vbs调用第二部分批处理带上参数这样可以不?
for /f %%i in ('C:\bea\weblogic91\common\bin\wlst.cmd startserver.py %status% //Nologo') do echo %%i这句括号里带 %status% //Nologo有什么用的啊??
|
|
2006-11-7 23:24 |
|
|
zjh7547
新手上路
积分 4
发帖 2
注册 2006-9-5
状态 离线
|
『第
11 楼』:
批处理中调用SQL脚本时如何返回结果?
比如要得到SQL Server 的安装目录 ,在批处理中如何得到?用sql命令就很简单了 ,可惜不知道如何将得到的字符串传回DOS中???
|
|
2006-11-7 23:44 |
|
|
redtek
金牌会员
积分 2902
发帖 1147
注册 2006-9-21
状态 离线
|
『第
12 楼』:
Quote: | Originally posted by sunyao at 2006-11-7 22:56:
我现在用
for /f %%i in ('C:\bea\weblogic91\common\bin\wlst.cmd startserver.py %status% //Nologo') do echo %%i
我想在startserver.py文件中取出变量status的值
怎么就去不出来堮.. |
|
) C:\bea\weblogic91\common\bin\wlst.cmd startserver.py %status%都输出什么内容?
) %status% 有这个变量吗?内容是什么?
) //Nologo 是针对wscript.exe的参数:不显示hui标,执行时不显示标致,
这跟你那个wlst.cmd startserver.py %status% 有关系吗?
|
Redtek,一个永远在网上流浪的人……
_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._ |
|
2006-11-7 23:52 |
|
|
sunyao
初级用户
积分 141
发帖 60
注册 2006-10-28 来自 天津
状态 离线
|
『第
13 楼』:
我输出startserver.py时显示
驱动器中没有标签
卷的序列号是9c83-6df1
|
|
2006-11-8 00:05 |
|
|
sunyao
初级用户
积分 141
发帖 60
注册 2006-10-28 来自 天津
状态 离线
|
『第
14 楼』:
是不是如果dir出不来的文件就查不到呀
|
|
2006-11-8 00:09 |
|
|
redtek
金牌会员
积分 2902
发帖 1147
注册 2006-9-21
状态 离线
|
『第
15 楼』:
for /f "delims=" %%i in ('C:\bea\weblogic91\common\bin\wlst.cmd startserver.py') do echo %%i
再试一下输出什么?
只要你 c:\bea\weblogic91\common\bin\wlst.cmd startserver.py 的输出信息正常,
并且 wlst.cmd 代码中没有产生让你的 for /f ....主批处理遇到不可抗力的因素(如:战争、地震、……~:P)。
你 C:\bea\weblogic91\common\bin\wlst.cmd startserver.py 输出的什么文本信息,你for取回了就是什么(除了特殊情况)。
[ Last edited by redtek on 2006-11-8 at 12:12 AM ]
|
Redtek,一个永远在网上流浪的人……
_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._ |
|
2006-11-8 00:10 |
|