标题: [其他] 【已解决】mahta调用js后怎么把返回值接住 [打印本页]
作者: 回家路上 时间: 2015-7-3 21:50 标题: 【已解决】mahta调用js后怎么把返回值接住
本帖最后由 回家路上 于 2015-7-3 22:57 编辑
- <!-- :
- :: 该脚本用于测试批处理和Javascript的交互,包括
- :: (1)批处理向Javascript传参
- :: (2)Javascript向批处理返回值
-
- @echo off
- echo 测试【Bat和JavaScript交互】
- set message=批处理的字符串
- echo %message% | mshta "%~f0" 2>nul | findstr .* 2>&1
- pause&exit
- -->
-
- <script>
- var fso = new ActiveXObject('Scripting.Filesystemobject');
- var inputStream = fso.GetStandardStream(0);
- var outStream = fso.GetStandardStream(1);
- if(confirm("【"+inputStream.ReadAll()+"】"+",这是你批处理输入的内容吗?")){
- outStream.Write("是的。");
- }else{
- outStream .Write("不是我输入的内容!");
- }
- close()
- </script>
复制代码
看了之家好一段时间了,这几天偶然试了试,这种混编,可是不知道,在批处理中怎么把返回的1和2接住,求教。
上面的【echo %message% | mshta "%~f0" 2>nul | findstr .* 2>&1】改了几次都报错,不知道怎么办,请问能用变量set一下吗?好在后面逻辑中使用。
作者: CrLf 时间: 2015-7-3 22:44
- @echo off
- for /f "delims=" %%a in ('mshta "%~f0"') do set "输出=%%a"
- echo 输出=%输出%
- pause
复制代码
作者: pcl_test 时间: 2015-7-3 22:50
本帖最后由 pcl_test 于 2015-7-3 23:05 编辑
- <!-- :
- @echo off
- echo 测试【Bat和JavaScript交互】
- set message=批处理的字符串
- for /f "delims=" %%a in ('echo %message% ^| mshta "%~f0" 2^>nul') do set "输出=%%a"
- echo;输出=%输出%
- pause&exit /b
- -->
复制代码
作者: 回家路上 时间: 2015-7-3 22:55
回复 2# CrLf
赞一个,好厉害。
这么晚还在线啊
作者: 回家路上 时间: 2015-7-3 22:56
回复 3# pcl_test
嗯嗯,谢啦。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |