2017-07-03 125 views
0

我使用這個腳本得到一個URL的結果:插入符不批處理文件的工作,工作在命令提示符

@Echo off 
For /f "delims=" %%A in (
    'powershell -NonI -NoP -C "(Invoke-Webrequest "%~1").content"' 
) Do set Line=%%A 

我可以把它在命令提示符窗口是這樣的:

WebResponse.cmd "http://websiteremoved.com/teststat.php?username^=%friend1%" 

我需要使用插入符號(^)來取消等號。但是,當我在批處理文件中運行同一行代碼時,它不起作用。據測試,%〜1設置爲"http://websiteremoved.com/teststat.php?username^=Lukaka"但PowerShell的部分返回此:

Invoke-WebRequest : A positional parameter cannot be found that accepts argument 'Lukaka'. [] http://websiteremoved.com/teststat.php?username^=Lukaka 
At line:1 char:2 [] http://websiteremoved.com/teststat.php?username^=Lukaka 
+ (Invoke-Webrequest http://websiteremoved.com/teststat.p ... [] http://websiteremoved.com/teststat.php?username^=Lukaka 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [] http://websiteremoved.com/teststat.php?username^=Lukaka 
    + CategoryInfo   : InvalidArgument: (:) [Invoke-WebRequest], ParameterBindingException [] http://websiteremoved.com/teststat.php?username^=Lukaka 
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.InvokeWebRequestCommand [] http://websiteremoved.com/teststat.php?username^=Lukaka 

任何想法,爲什麼它這樣做呢?謝謝一堆!

+2

你上次誤會了我,我說要麼**或**逃脫,而不是兩個。 – LotPings

+0

爲什麼要使用'cmd.exe'?只需運行你想要直接從PowerShell提示符運行的命令。 –

+0

取決於您有多少內存可用。 ''cmd.exe 0.4MB'與'PowerShell 32MB'相比。 (需要80倍的內存才能打開PowerShell)當然,如果你有4G免費 - 誰在乎... –

回答

相關問題