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
任何想法,爲什麼它這樣做呢?謝謝一堆!
你上次誤會了我,我說要麼**或**逃脫,而不是兩個。 – LotPings
爲什麼要使用'cmd.exe'?只需運行你想要直接從PowerShell提示符運行的命令。 –
取決於您有多少內存可用。 ''cmd.exe 0.4MB'與'PowerShell 32MB'相比。 (需要80倍的內存才能打開PowerShell)當然,如果你有4G免費 - 誰在乎... –