Rob*_*ssa 133 web command-line
不使用任何非标准(包括 Windows)实用程序,是否可以使用 Windows 命令行下载?
首选版本是 Windows XP,但了解更新版本也很有趣。
为了进一步澄清我的问题:
所以基本上,因为每个人都在尖叫Wget,我想要简单的 Wget 功能,而不使用 Wget。
小智 76
从 Windows 7 开始,我相信有一种尚未提及的方法很简单:
句法:
bitsadmin /transfer job_name /download /priority priority URL local\path\file
例子:
bitsadmin /transfer mydownloadjob /download /priority normal ^
http://example.com/filename.zip C:\Users\ username \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.
Run Code Online (Sandbox Code Playgroud)
...但另一条评论报告说它适用于 Windows 8。
小智 54
您可以编写一个 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
Run Code Online (Sandbox Code Playgroud)
从命令行运行它,如下所示:
cscript.exe downloadfile.vbs
Run Code Online (Sandbox Code Playgroud)
小智 40
Windows 7 包含 PowerShell,几乎没有什么是您无法使用 PowerShell 完成的。
Windows PowerShell 中 wget 的本机替代品?
小智 26
PowerShell(包含在 Windows 8 中,包含在早期版本的 .NET 中)具有此功能。该powershell命令允许从命令行或.bat文件运行任意 PowerShell 命令。因此,以下行是我们想要的:
powershell -command "& { (New-Object Net.WebClient).DownloadFile('http://example.com/', 'c:\somefile') }"
Run Code Online (Sandbox Code Playgroud)
DHa*_*yes 19
我找到了一种方法,但实际上,只需安装Wget。
您可以从命令行 (iexplore.exe) 使用 Internet Explorer,然后输入 URL 作为参数。所以,运行:
iexplore.exe http://blah.com/filename.zip
Run Code Online (Sandbox Code Playgroud)
无论文件是什么,您都需要指定它不需要提前确认。瞧,它会自动执行下载。所以,是的,这在技术上是可行的,但是上帝以不同的方式做到这一点。
Chr*_*Noe 14
Windows Explorer(不要与 Internet Explorer 混淆)可以通过 HTTP 下载文件。只需在地址栏中输入 URL。或者从命令行,例如,C:\windows\explorer.exe http://somewhere.com/filename.ext.
您会收到经典的文件下载提示。除非文件是 Windows 资源管理器知道如何内联显示的类型(.html、.jpg、.gif),在这种情况下,您需要右键单击以保存它。
我刚刚在我的 Windows XP 2002 SP1 处女安装的VMware映像上对此进行了测试,并且运行良好。
小智 7
您可以使用(在标准的 Windows bat 中):
powershell -command "& { iwr http://www.it1.net/it1_logo2.jpg -OutFile logo.jpg }"
Run Code Online (Sandbox Code Playgroud)
它似乎需要PowerShell v4 ...
使用 FTP。
从命令行:
ftp ftp.somesite.com
user
password
Run Code Online (Sandbox Code Playgroud)
等等。我记得的每个 Windows 版本中都包含 FTP;可能不在 3.1 中,也可能不在Windows 95 中,但肯定是之后的所有内容。
@RM:如果您不想下载任何其他工具,那将会很艰难。有一个适用于 Windows的命令行Wget,Wget旨在完全满足您的要求。
小智 5
像这样使用 PowerShell:
创建一个 download.ps1 文件:
param($url, $filename)
$client = new-object System.Net.WebClient
$client.DownloadFile( $url, $filename)
Run Code Online (Sandbox Code Playgroud)现在你可以下载这样的文件:
powershell Set-ExecutionPolicy Unrestricted
powershell -ExecutionPolicy RemoteSigned -File "download.ps1" "http://somewhere.com/filename.ext" "d:\filename.ext"
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
467047 次 |
| 最近记录: |