我想通过 CMD 下载文件,我发现的第一个方法是 FTP。我租了一台服务器,一切正常。问题是输入凭证需要很长时间。经过一番研究,我发现了以下 PowerShell 行:
powershell (new-object System.Net.WebClient).DownloadFile('http://website.com/file.exe','%TEMP%\file.exe')
但我有一些疑问:
%TEMP% 后面的部分是干什么用的?那是文件“到达”的目的地吗?所以如果我想将其下载到 C:\,我只需将其更改为 C:\,对吗?我可以在哪里免费托管文件?我找到了一些网络服务器托管网站,但我能找到的唯一数据库是 FTP 和 MySQL。谢谢你的帮助 ;)
答案1
%TEMP% 后面的部分是做什么的?
您可以通过查找正在使用的 .Net WebClient 的 DownloadFile 方法的文档来找到答案:
由于您使用参数'http://website.com/file.exe'
和'%TEMP%\file.exe'
(两个字符串)调用它,因此具体的调用文档在这里:
WebClient.DownloadFile 方法(字符串,字符串)
该页面显示预期的参数/参数是address
和filename
:
address
Type: System.String
The URI from which to download data.
fileName
Type: System.String
The name of the local file that is to receive the data.
因此,正如您所看到的,该filename
参数实际上是“文件到达的目的地”。或者更准确地说,它是创建的文件,然后使用通过 Web 客户端从 FTP 服务器流式传输的数据进行填充。
请记住,这%TEMP%
是一个代表用户的 Temp 文件夹路径的变量(即C:\Users\c0ntrix\AppData\Local\Temp
:)。
所以如果我想将其下载到 C:\,我只需将其更改为 C:\,对吗?
只要您还包含实际文件名即可。因此,您需要更改'%TEMP%\file.exe'
为c:\file.txt
。
笔记:一般来说,保存到 C: 的根目录不是一个好主意,因此 Windows 会尝试阻止它(通过要求管理员提升权限等),所以请将目标设为文件夹。
我可以在哪里免费托管文件?
您可以在家中设置自己的 FTP 服务器。除此之外,询问服务推荐的问题对于 SU 来说都不算题外话。只需在 Google 上搜索“免费 FTP 主机”并开始搜索,和/或与您的 ISP 联系,因为他们可能愿意在您的月度订阅中提供一些 FTP 空间。
我能找到的唯一数据库是 FTP 和 MySQL
FTP 不是数据库,它是“文件传输协议”,用于传输文件,仅此而已。