0
我的批處理腳本通過使用JavaScript語法的CScript來執行HTTP請求,就像我的示例中那樣。將cscript輸出返回到批處理
使用this approach(也seen here)和一些help on escaping我嘗試了以下內容: 「ECHO處於關閉狀態」
@if (@[email protected]) @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);
不幸的是,我得到一個消息,而不是%RESULT%中的字符串。
該腳本在Windows 2008 R2服務器上運行。
你需要[延遲擴展(http://stackoverflow.com/a/30284028/2152082) – Stephan
謝謝,得到它了! '回聲!結果!'起作用! – BNT
[批處理中變量的行爲與預期不符]的可能重複(http://stackoverflow.com/q/30282784/692942) – Lankymart