如何以及在何处使用 cmd.exe/PowerShell 上传/下载文件

如何以及在何处使用 cmd.exe/PowerShell 上传/下载文件

我想通过 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 方法的文档来找到答案:

WebClient.DownloadFile 方法

由于您使用参数'http://website.com/file.exe''%TEMP%\file.exe'(两个字符串)调用它,因此具体的调用文档在这里:

WebClient.DownloadFile 方法(字符串,字符串)

该页面显示预期的参数/参数是addressfilename

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 不是数据库,它是“文件传输协议”,用于传输文件,仅此而已。

相关内容