4

我正在编写一个跨平台应用程序,教人们如何使用命令行。我想向他们展示如何打印出 URL 的 HTML 内容。通常,我会使用curl它,但 Windows 不附带此程序,我不希望我的用户必须安装任何额外的程序。

有没有办法使用内置的 MS-DOS 命令模拟 curl,也许发送一段 VBScriptwscript进行评估?

4

2 回答 2

5

假设已安装 .net,您可以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]);
    }
}
于 2012-11-04T11:12:20.120 回答
0

用户在 Windows 上至少有两种可能性:

1)下载 curl-for-windows 构建(在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 /

于 2012-11-04T06:29:59.150 回答