不使用任何非标准(包括Windows)实用程序,是否可以使用Windows命令行下载?
首选版本是Windows XP,但对于较新的版本也很有趣。
为了进一步阐明我的问题:
- 它必须使用HTTP
- 该文件需要保存
- 标准的干净Windows安装,不需要额外的工具
基本上,既然每个人都在尖叫Wget,那么我想要简单的Wget功能,而不使用Wget。
不使用任何非标准(包括Windows)实用程序,是否可以使用Windows命令行下载?
首选版本是Windows XP,但对于较新的版本也很有趣。
为了进一步阐明我的问题:
基本上,既然每个人都在尖叫Wget,那么我想要简单的Wget功能,而不使用Wget。
Answers:
您可以编写一个VBScript并从命令行运行它
创建一个文件downloadfile.vbs
并插入以下代码行:
' Set your settings
strFileURL = "http://www.it1.net/images/it1_logo2.jpg"
strHDLocation = "c:\logo.jpg"
' Fetch the file
Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
objXMLHTTP.open "GET", strFileURL, false
objXMLHTTP.send()
If objXMLHTTP.Status = 200 Then
Set objADOStream = CreateObject("ADODB.Stream")
objADOStream.Open
objADOStream.Type = 1 'adTypeBinary
objADOStream.Write objXMLHTTP.ResponseBody
objADOStream.Position = 0 'Set the stream position to the start
Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocation
Set objFSO = Nothing
objADOStream.SaveToFile strHDLocation
objADOStream.Close
Set objADOStream = Nothing
End if
Set objXMLHTTP = Nothing
从命令行运行它,如下所示:
cscript.exe downloadfile.vbs
从Windows 7开始,我相信还没有提到一种方法很简单:
句法:
bitsadmin / transfer job_name / download / priority 优先级 URL 本地\路径\文件
例:
bitsadmin / transfer mydownloadjob / download /优先级正常^ http://example.com/filename.zip C:\ Users \ 用户名 \ Downloads \ filename.zip
(^
为了便于阅读,分为两行,以防止滚动)。
警告:如注释中所指出,bitsadmin
帮助消息以以下内容开头:
BITSAdmin is deprecated and is not guaranteed to be available in future versions of Windows.
Administrative tools for the BITS service are now provided by BITS PowerShell cmdlets.
...但是另一条评论称它可以在Windows 8上运行。
Windows 7包含PowerShell,您几乎无法使用PowerShell做任何事情。
cmd
。
powershell -command "& { iwr http://www.it1.net/it1_logo2.jpg -OutFile logo.jpg }"
。也适用从运行提示
powershell -command "$clnt = new-object System.Net.WebClient; $clnt.DownloadFile(\"https://host/name\", \"outpufilename\")"
PowerShell(Windows 8附带和早期版本的.NET附带)具有此功能。该powershell
命令允许从命令行或.bat
文件运行任意PowerShell命令。因此,下面是所需的行:
powershell -command "& { (New-Object Net.WebClient).DownloadFile('http://example.com/', 'c:\somefile') }"
我找到了一种方法,但实际上,只需安装Wget即可。
您可以从命令行(iexplore.exe)使用Internet Explorer,然后输入URL作为参数。因此,运行:
iexplore.exe http://blah.com/filename.zip
无论文件是什么,您都需要指定它不需要提前确认。瞧瞧,它将自动执行下载。所以是的,这在技术上是可能的,但是好主以不同的方式来做。
Windows资源管理器(不要与Internet Explorer混淆)可以通过HTTP下载文件。只需在地址栏中输入URL。或从命令行,例如C:\windows\explorer.exe http://somewhere.com/filename.ext
。
您会看到经典的文件下载提示。除非文件是Windows资源管理器知道如何内联显示的类型(.html,.jpg,.gif),否则在这种情况下,您需要右键单击以保存它。
我刚刚在Windows XP 2002 SP1的原始安装的VMware映像上对此进行了测试,并且工作正常。
使用FTP。
在命令行中:
ftp ftp.somesite.com
user
password
我记得每个Windows版本都包含FTP。可能不在3.1中,也可能不在Windows 95中,但是此后的所有事情都可以。
@RM:如果您不想下载任何其他工具,这将很困难。有一个用于Windows的命令行Wget,Wget旨在完全满足您的要求。
像这样使用PowerShell:
创建一个download.ps1文件:
param($url, $filename)
$client = new-object System.Net.WebClient
$client.DownloadFile( $url, $filename)
现在,您可以下载如下文件:
powershell Set-ExecutionPolicy Unrestricted
powershell -ExecutionPolicy RemoteSigned -File "download.ps1" "http://somewhere.com/filename.ext" "d:\filename.ext"
您可以在Windows上安装Linux应用程序Wget。可以从http://gnuwin32.sourceforge.net/packages/wget.htm下载。然后,您可以在命令提示符下发出命令“ wget(在此处插入URL)”或任何其他URL,它将允许您下载该URL /文件/图像。
可以通过以下方法下载文件
bitsadmin / transfer wcb / priority high https://sustainabledevelopment.un.org/content/documents/Agenda21.pdf C:\ Program Files(x86)\ Dell Update \ Agenda21.pdf