批次变量设置为网站
问题描述:
的内容我知道批次变量设置为网站
set /p var=<some.txt
设置VAR到文本文件的内容。 但是我怎样才能得到一个webressource的内容?
set /p var=<http://example.com/somefile.php
这就是它应该如何工作的。 PHP文件返回一些生成的文本。
答
这是batch
只有答案,因为它不需要第三方程序,VBS或任何其他的东西。
基本上你会从这样的事情开始 - 你下载一个文件,将它设置为一个变量并尝试回显它。
bitsadmin.exe /transfer "MyTask" "https://xkcd.com/1678/index.html" "%cd%\content.html"
set /p content=<content.html
echo %content%
好吧,不是那么快。批量不喜欢,除非内容没有特殊的东西,它可以解释,所以你需要确保文件不包含批处理命令或任何可以解释为他们。
例如,如果你的文件包含<
,这是你会得到什么,如果该文件的内容仅仅是<missing.txt
(即尝试加载一个文件不存在的内容):
set /p nope=<file.txt
echo %nope% # warning
OR你需要躲避内容:
:: to make ! work (google what delayed expansion is)
setlocal enabledelayedexpansion
:: fetch a file from that url
bitsadmin.exe /transfer "MyTask" "https://xkcd.com/1678/index.html" "%cd%\content.html"
:: clear the variable if available
set "content="
:: load content from file
for /f "delims=" %%i in (content.html) do set content=!content!%%i
:: echo with escaping special characters, keywords, etc
:: the bracket is really important here :)
echo(!content!
:: disable expansion
endlocal