Return cscript 输出到批处理
Return cscript output to batch
我的批处理脚本正在使用具有 Javascript 语法的 CScript 执行 HTTP 请求,就像在我的示例中一样。
使用 this approach (also seen here) and some help on escaping 我尝试了以下操作:
@if (@This==@IsBatch) @then
@echo off
rem **** batch zone *********************************************************
setlocal enableextensions EnableDelayedExpansion
set OWNPATH="%~dpnx0"
if not "%~11"=="" (
FOR /F "usebackq tokens=*" %%r in (`cscript //E:JScript %OWNPATH%`) DO SET RESULT=%%r
ECHO %RESULT%
)
exit /b
@end
// **** JScript zone *****************************************************
// Instantiate the needed component to make url queries
var http = WScript.CreateObject('Msxml2.XMLHTTP.6.0');
// perform request
var requestURL = "http://myserver/api";
// Make the request
http.open("GET", requestUrl, false);
http.send();
WScript.Echo(http.ResponseText);
// All done. Exit
WScript.Quit(0);
不幸的是,我收到一条消息 "ECHO is off." 而不是 %RESULT%.
中的字符串
脚本 运行 在 Windows 2008 R2 服务器上。
感谢@Stephan,它在使用
时有效
echo !RESULT!
由于
我的批处理脚本正在使用具有 Javascript 语法的 CScript 执行 HTTP 请求,就像在我的示例中一样。
使用 this approach (also seen here) and some help on escaping 我尝试了以下操作:
@if (@This==@IsBatch) @then
@echo off
rem **** batch zone *********************************************************
setlocal enableextensions EnableDelayedExpansion
set OWNPATH="%~dpnx0"
if not "%~11"=="" (
FOR /F "usebackq tokens=*" %%r in (`cscript //E:JScript %OWNPATH%`) DO SET RESULT=%%r
ECHO %RESULT%
)
exit /b
@end
// **** JScript zone *****************************************************
// Instantiate the needed component to make url queries
var http = WScript.CreateObject('Msxml2.XMLHTTP.6.0');
// perform request
var requestURL = "http://myserver/api";
// Make the request
http.open("GET", requestUrl, false);
http.send();
WScript.Echo(http.ResponseText);
// All done. Exit
WScript.Quit(0);
不幸的是,我收到一条消息 "ECHO is off." 而不是 %RESULT%.
中的字符串脚本 运行 在 Windows 2008 R2 服务器上。
感谢@Stephan,它在使用
时有效echo !RESULT!
由于