我正在编写一个跨平台的应用程序,教会人们如何使用命令行。我想向他们展示如何打印URL的HTML内容。通常情况下,我会使用curl
,但Windows不附带此程序,我不希望我的用户必须安装任何额外的程序。
有没有办法使用内置的MS-DOS命令模拟curl,可能会发送一个VBScript片段到wscript
进行评估?
答案 0 :(得分:5)
安装.net已安装,您可以使用批处理文件combine c#创建一个wget.cmd:
/*
@echo off && cls
if '%2'=='' (
echo usage: %0 url filename
goto :eof
)
set WinDirNet=%WinDir%\Microsoft.NET\Framework
IF EXIST "%WinDirNet%\v2.0.50727\csc.exe" set csc="%WinDirNet%\v2.0.50727\csc.exe"
IF EXIST "%WinDirNet%\v3.5\csc.exe" set csc="%WinDirNet%\v3.5\csc.exe"
IF EXIST "%WinDirNet%\v4.0.30319\csc.exe" set csc="%WinDirNet%\v4.0.30319\csc.exe"
%csc% /nologo /out:"%~0.exe" %0
"%~0.exe" "%1" "%2"
del "%~0.exe"
goto :eof
*/
using System;
using System.Net;
using System.IO;
class MyWget
{
static void Main(string[] args)
{
WebClient wc = new WebClient();
wc.DownloadFile(args[0],args[1]);
}
}
答案 1 :(得分:0)
用户在Windows上至少有两种可能性:
1)下载curl-for-windows build(在http://curl.haxx.se/download.html上搜索),其中一些是单个curl.exe文件(或者可能有一些ssl dll),所以不需要安装,你可以只复制到system32或添加到PATH
2)安装powershell并使用相应的.net对象来做这件事: http://answers.oreilly.com/topic/2006-how-to-download-a-file-from-the-internet-with-windows-powershell/