Windows 下命令行下载文件的方法
在 Windows 操作系统中,默认情况下并没有内置 curl 或 wget 命令行工具,但你仍然可以通过其他方法使用命令行下载文件。以下是一些可行的替代方案:
1. 使用 PowerShell 下载文件
Windows 提供了 PowerShell,它内置了一个非常强大的 Invoke-WebRequest 命令,可以用来下载文件。下面是如何通过 PowerShell 使用该命令下载文件。
打开 命令提示符(CMD) 或 PowerShell,输入以下命令:
powershell -Command "Invoke-WebRequest -Uri 'http://example.com/file.zip' -OutFile 'C:\path\to\save\file.zip'"
其中:
'http://example.com/file.zip'是你要下载的文件 URL。'C:\path\to\save\file.zip'是你希望保存文件的路径。
2. 使用 bitsadmin 下载文件
bitsadmin 是一个内置的命令行工具,虽然在新版 Windows 中它被标记为过时,但在大多数 Windows 版本中仍然可用。bitsadmin 可以用于后台下载文件。
下面是一个示例命令:
bitsadmin /transfer myDownloadJob /download /priority high http://example.com/file.zip C:\path\to\save\file.zip
其中:
/transfer myDownloadJob创建一个传输作业。/download表示下载操作。/priority high设置下载优先级。http://example.com/file.zip是文件的 URL。C:\path\to\save\file.zip是保存文件的路径。
请注意,bitsadmin 在较新的 Windows 版本中可能已经被弃用,但它仍然能在许多旧版本的 Windows 中使用。
|
BITSADMIN version 3.0 USAGE: BITSADMIN [/RAWRETURN] [/WRAP | /NOWRAP] command /HELP Prints this help /LIST [/ALLUSERS] [/VERBOSE] List the jobs /TRANSFER <job name> [type] [/PRIORITY priority] [/ACLFLAGS flags] [/DYNAMIC] /CREATE [type] <job name> Creates a job /INFO <job> [/VERBOSE] Displays information about the job /ADDFILEWITHRANGES <job> <remote_url> <local_name range_list> 0:100,2000:100,5000:eof instructs BITS to read 100 bytes starting at offset zero, 100 bytes starting /REPLACEREMOTEPREFIX <job> <old_prefix> <new_prefix> Note that BITS currently supports HTTP/HTTPS downloads and uploads. /LISTFILES <job> Lists the files in the job /GETTYPE <job> Retrieves the job type /SETACLFLAGS <job> <ACL_flags> Sets the ACL propagation flags for the job Examples: /GETBYTESTOTAL <job> Retrieves the size of the job /SETPROXYSETTINGS <job> <usage> Sets the proxy usage /GETPROXYUSAGE <job> Retrieves the proxy usage setting /TAKEOWNERSHIP <job> Take ownership of the job /SETNOTIFYCMDLINE <job> <program_name> [program_parameters] Examples: /GETNOTIFYCMDLINE <job> Returns the job's notification command line /SETCREDENTIALS <job> <target> <scheme> <username> <password> /REMOVECREDENTIALS <job> <target> <scheme> /GETHTTPMETHOD <job> Gets the HTTP verb to use. /GETCLIENTCERTIFICATE <job> Gets the job's Client Certificate Information /SETCLIENTCERTIFICATEBYNAME <job> <store_location> <store_name> <subject_name> /REMOVECLIENTCERTIFICATE <job> Removes the Client Certificate Information from the job /SETSECURITYFLAGS <job> <value> Allow redirection from HTTPS to HTTP : Set the 12th bit from right /GETSECURITYFLAGS <job> /SETVALIDATIONSTATE <job> <file-index> <true|false> /GETVALIDATIONSTATE <job> <file-index> /GETTEMPORARYNAME <job> <file-index> The following options control peercaching of a particular job: /SETPEERCACHINGFLAGS <job> <value> /GETPEERCACHINGFLAGS <job> The following options are valid for UPLOAD-REPLY jobs only: /GETREPLYFILENAME <job> Gets the path of the file containing the server reply /SETHELPERTOKEN <job> Sets the current command prompt's primary token as a job's helper token /SETHELPERTOKENFLAGS <job> <flags> /GETHELPERTOKENFLAGS <job> /GETPEERSTATS <job> <file-index> The following options can be placed before the command: The /RAWRETURN option strips new line characters and formatting. Commands that take a <job> parameter will accept either a job name or a job ID |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
示例命令
|
3. 使用 certutil 下载文件
certutil 是一个 Windows 内置的工具,通常用于管理证书,但它也可以用于下载文件。
示例命令:
certutil -urlcache -split -f http://example.com/file.zip C:\path\to\save\file.zip
其中:
http://example.com/file.zip是你要下载的文件 URL。C:\path\to\save\file.zip是你希望保存文件的路径。
certutil 是一个比较简单的工具,但它也能很好地完成基本的文件下载任务。
|
certutil /? Verbs: -decodehex -- Decode hexadecimal-encoded file -deny -- Deny pending request -getconfig -- Get default configuration string -installCert -- Install Certification Authority certificate -schema -- Dump Certificate Schema -backup -- Backup Active Directory Certificate Services -store -- Dump certificate store -dsPublish -- Publish certificate or CRL to Active Directory -ADTemplate -- Display AD templates -SCRoots -- Manage smart card root certificates -DeleteHelloContainer -- Delete Hello Logon container. -vroot -- Create/delete web virtual roots and file shares -ImportKMS -- Import user keys and certificates into server database for key archival -add-chain -- (-AddChain) Add certificate chain
CertUtil: -? command completed successfully. |
4. 手动安装 curl 或 wget
如果你需要使用 curl 或 wget 进行文件下载,并且希望它们在 CMD 中可用,你可以手动安装它们:
-
安装
curl:- 从 curl 官网 下载适合你 Windows 版本的
curl可执行文件。 - 解压文件后,将
curl.exe文件放到某个目录中,并将该目录添加到系统的PATH环境变量中,这样你就可以在任何命令行窗口中使用curl了。
- 从 curl 官网 下载适合你 Windows 版本的
-
安装
wget:- 从 wget for Windows 下载 Windows 版本的
wget。 - 将下载的
wget.exe文件放到一个目录中,并将该目录添加到系统的PATH环境变量中。
- 从 wget for Windows 下载 Windows 版本的
安装完成后,你就可以像在 Linux 系统上一样使用 curl 或 wget 命令进行文件下载了。
wget 和 wget2 是用于从网络下载文件的命令行工具。虽然它们的功能相似,但 wget2 是 wget 的一个更新版本,具有一些改进和新特性。以下是它们之间的一些主要区别:
1. 性能和效率
- wget: 传统的
wget工具在处理大文件和高延迟网络时可能效率较低。 - wget2: 设计时考虑了性能优化,支持更高效的下载,尤其是在高延迟或不稳定的网络环境下。
2. HTTP/2 支持
- wget: 仅支持 HTTP/1.1。
- wget2: 原生支持 HTTP/2 协议,允许更快的下载速度和更好的资源利用。
3. 多线程下载
- wget: 不支持多线程下载,所有文件下载都是单线程的。
- wget2: 支持多线程下载,可以同时下载多个文件,从而提高下载速度。
4. 更好的错误处理
- wget: 错误处理相对简单,可能在某些情况下无法恢复下载。
- wget2: 提供了更好的错误恢复机制,能够在网络中断后更有效地恢复下载。
5. 命令行选项和功能
- wget: 拥有丰富的命令行选项,但某些功能可能不够灵活。
- wget2: 在命令行选项上进行了改进,增加了一些新功能,使得使用更加灵活。
6. 依赖性
- wget: 依赖于较少的外部库,通常在大多数 Linux 发行版中预装。
- wget2: 可能依赖于更多的库,尤其是为了支持 HTTP/2 和多线程特性。
7. 开发和维护
- wget: 仍在维护,但更新频率较低。
- wget2: 是一个相对较新的项目,正在积极开发中,添加新特性和修复问题。
wget2 是 wget 的现代化版本,提供了更好的性能、更多的功能和对新技术的支持。如果您需要更高效的下载工具,尤其是在现代网络环境中,wget2 是一个更好的选择。对于简单的下载任务,wget 仍然是一个可靠的工具。
5. 使用 http 命令行工具(适用于 Windows 10 及更新版本)
在 Windows 10 及更新版本中,微软提供了一个名为 http 的命令行工具,它允许你发送 HTTP 请求。
示例命令:
http --download http://example.com/file.zip
这个命令会将指定 URL 的文件下载到当前目录。
6. 使用 start 命令打开浏览器下载
如果你只是想通过浏览器下载文件,也可以通过 start 命令来在默认浏览器中打开下载链接:
start http://example.com/file.zip
这会自动在你的默认浏览器中打开该 URL,然后你可以通过浏览器来手动下载文件。
如果没有 curl 或 wget,你可以使用 PowerShell 的 Invoke-WebRequest,bitsadmin,certutil 等工具下载文件。如果你习惯于使用这些工具,也可以手动安装 curl 或 wget 到你的系统中。这些方法可以满足大部分文件下载需求,尽管命令行的使用体验略有不同。
了解更多关于 Windows 下命令行下载文件的方法,下面是一些额外的技巧和注意事项。
7. 使用 Invoke-RestMethod(PowerShell)
除了 Invoke-WebRequest,PowerShell 还提供了 Invoke-RestMethod 命令,可以用于执行 HTTP 请求并处理响应数据。它非常适合处理 REST API 请求,或者下载文件。
示例命令:
Invoke-RestMethod -Uri "http://example.com/file.zip" -OutFile "C:\path\to\save\file.zip"
与 Invoke-WebRequest 相似,它允许你下载文件并将其保存到指定路径。
8. 使用 wget 在 Windows 上的替代工具
如果你安装了 Windows Subsystem for Linux (WSL),那么你就可以直接在 Windows 上使用 Linux 版本的 wget 和 curl。WSL 是微软提供的一个功能,它允许你运行 Linux 发行版(例如 Ubuntu)作为子系统,提供了一些原生的 Linux 工具和命令行程序。
-
安装 WSL:
- 打开 PowerShell 并以管理员身份运行:
powershellCopy Code
wsl --install - 安装完毕后,重启电脑并选择一个 Linux 发行版(如 Ubuntu)。
- 打开 PowerShell 并以管理员身份运行:
-
在 WSL 环境中,你可以直接使用
wget或curl:bashCopy Codewget http://example.com/file.zip -O /mnt/c/path/to/save/file.zip这个命令将从
http://example.com/file.zip下载文件,并保存到C:\path\to\save\file.zip。
9. 利用脚本自动化下载
如果你需要定期从某个 URL 下载文件,可以使用 PowerShell 或批处理脚本来自动化这个过程。例如,编写一个 PowerShell 脚本来定期下载文件:
$url = "http://example.com/file.zip"
$outputPath = "C:\path\to\save\file.zip"
Invoke-WebRequest -Uri $url -OutFile $outputPath
保存为 download-file.ps1,然后你可以通过任务计划程序(Task Scheduler)定时执行这个脚本来实现定期下载。
10. 通过 FTP 下载文件
Windows 操作系统还内置了支持 FTP(文件传输协议)的功能。如果你需要从 FTP 服务器下载文件,可以使用 ftp 命令。
示例命令:
-
打开命令提示符(CMD)。
-
输入
ftp并连接到 FTP 服务器:cmdCopy Codeftp ftp.example.com -
登录后,你可以使用
get命令下载文件:cmdCopy Codeget /path/to/file.zip C:\path\to\save\file.zip -
完成下载后,使用
bye退出 FTP 会话。
如果你需要通过匿名访问 FTP,只需输入匿名用户和任意密码即可:
ftp -n -s:ftp-commands.txt ftp.example.com
在 ftp-commands.txt 文件中包含以下命令:
user anonymous your-email@example.com
get /path/to/file.zip C:\path\to\save\file.zip
bye
11. 通过 curl 下载带认证的文件
如果你需要下载一个需要身份验证的文件,curl 和 Invoke-WebRequest 都支持 HTTP 基本认证或其他身份验证方法。例如,使用 curl 下载带有用户名和密码的文件:
curl -u username:password -o C:\path\to\save\file.zip http://example.com/protectedfile.zip
对于 Invoke-WebRequest(PowerShell):
$url = "http://example.com/protectedfile.zip"
$outputPath = "C:\path\to\save\file.zip"
$credential = New-Object System.Management.Automation.PSCredential ("username", (ConvertTo-SecureString "password" -AsPlainText -Force))
Invoke-WebRequest -Uri $url -OutFile $outputPath -Credential $credential
12. 使用 aria2 下载文件
aria2 是一个功能强大的多协议下载工具,支持 HTTP、HTTPS、FTP、BT 等协议。在 Windows 上,你可以通过下载安装 aria2 来使用它。
下载并安装 aria2 后,可以使用以下命令进行文件下载:
aria2c -o C:\path\to\save\file.zip http://example.com/file.zip
aria2 支持下载加速,可以通过多线程下载文件,从而提高下载速度。
|
Usage: aria2c [OPTIONS] [URI | MAGNET | TORRENT_FILE | METALINK_FILE]... Tags: #basic -h, --help[=TAG|KEYWORD] Print usage and exit. Possible Values: #basic, #advanced, #http, #https, #ftp, #metalink, #bittorrent, #cookie, #hook, #file, #rpc, #checksum, #experimental, #deprecated, #help, #all -l, --log=LOG The file name of the log file. If '-' is Possible Values: /path/to/file, - -d, --dir=DIR The directory to store the downloaded file. Possible Values: /path/to/directory -o, --out=FILE The file name of the downloaded file. It is Possible Values: /path/to/file -s, --split=N Download a file using N connections. If more Possible Values: 1-* --file-allocation=METHOD Specify file allocation method. Possible Values: none, prealloc, trunc, falloc -V, --check-integrity[=true|false] Check file integrity by validating piece Possible Values: true, false -c, --continue[=true|false] Continue downloading a partially downloaded Possible Values: true, false -i, --input-file=FILE Downloads URIs found in FILE. You can specify Possible Values: /path/to/file, - -j, --max-concurrent-downloads=N Set maximum number of parallel downloads for Possible Values: 1-* -Z, --force-sequential[=true|false] Fetch URIs in the command-line sequentially Possible Values: true, false -x, --max-connection-per-server=NUM The maximum number of connections to one Possible Values: 1-* -k, --min-split-size=SIZE aria2 does not split less than 2*SIZE byte range. Possible Values: 1024-1073741824 --ftp-user=USER Set FTP user. This affects all URLs. Tags: #basic, #ftp --ftp-passwd=PASSWD Set FTP password. This affects all URLs. Tags: #basic, #ftp --http-user=USER Set HTTP user. This affects all URLs. Tags: #basic, #http --http-passwd=PASSWD Set HTTP password. This affects all URLs. Tags: #basic, #http --load-cookies=FILE Load Cookies from FILE using the Firefox3 format Possible Values: /path/to/file -S, --show-files[=true|false] Print file listing of .torrent, .meta4 and Possible Values: true, false --max-overall-upload-limit=SPEED Set max overall upload speed in bytes/sec. Possible Values: 0-* -u, --max-upload-limit=SPEED Set max upload speed per each torrent in Possible Values: 0-* -T, --torrent-file=TORRENT_FILE The path to the .torrent file. Possible Values: /path/to/file --listen-port=PORT... Set TCP port number for BitTorrent downloads. Possible Values: 1024-65535 --enable-dht[=true|false] Enable IPv4 DHT functionality. It also enables Possible Values: true, false --dht-listen-port=PORT... Set UDP listening port used by DHT(IPv4, IPv6) Possible Values: 1024-65535 --enable-dht6[=true|false] Enable IPv6 DHT functionality. Possible Values: true, false --dht-listen-addr6=ADDR Specify address to bind socket for IPv6 DHT. Tags: #basic, #bittorrent -M, --metalink-file=METALINK_FILE The file path to the .meta4 and .metalink Possible Values: /path/to/file, - URI, MAGNET, TORRENT_FILE, METALINK_FILE: You can specify both torrent file with -T option and URIs. By doing this, Make sure that URI is quoted with single(') or double(") quotation if it About the number of connections Refer to man page for more information. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
aria2c(1) — aria2 1.37.0 documentation
这只是常用选项的一部分, BT (BitTorrent) trackers 是用于帮助 P2P 网络中节点之间交换信息的服务器。在 BitTorrent 协议中,BT trackers 扮演着关键角色,它们用于协调种子与下载者之间的连接,帮助完成文件的共享和分发。 按照功能分类,BT trackers 可以分为以下几种类型:
说明:
总结:不同类型的 BT trackers 各自有不同的使用特点和限制。公开 tracker 更加自由,但可能存在文件质量和下载速度较差的问题;而私人 tracker 提供更高的文件质量和下载速度,但需要邀请码或注册才能访问。随着网络安全和隐私保护的需求不断提高,一些 tracker 也开始加入加密和匿名功能,保障用户隐私。
|
13. 下载大文件时的技巧
如果你在下载大文件时遇到网络中断或者需要恢复下载,可以使用支持断点续传的工具(如 curl、aria2)。例如,使用 curl 下载大文件并支持断点续传:
curl -C - -O http://example.com/largefile.zip
其中 -C - 表示继续下载(即使连接断开后也能恢复)。
如果使用 aria2,可以直接使用类似的参数来支持断点续传:
aria2c -c -o C:\path\to\save\file.zip http://example.com/largefile.zip
Windows 提供了多种方式来下载文件,除了基本的 PowerShell 方法之外,还有一些额外的工具和技巧,可以大大提高下载效率。无论是通过原生的 PowerShell 命令、FTP 客户端,还是安装第三方工具如 aria2、curl 或 wget,你都可以根据需求选择合适的工具。
对于高效下载、自动化或需要高可靠性的下载任务,使用像 aria2 或 curl 这样的工具会更为便捷。
探索 Windows 下的下载技巧,我们可以深入了解一些其他的高级方法以及一些常见的下载问题和解决办法:
14. 使用 BitsTransfer 下载文件
Background Intelligent Transfer Service (BITS) 是 Windows 系统自带的一项服务,用于在后台高效、低带宽地下载文件。BitsTransfer 是一种相对高效的下载方式,适用于需要在后台持续下载的任务,尤其是在不希望影响用户前台操作时。
示例命令:
Start-BitsTransfer -Source "http://example.com/file.zip" -Destination "C:\path\to\save\file.zip"
特点:
- 适用于大文件下载,可以自动恢复中断的下载任务。
- 不占用过多带宽资源,下载过程通常在后台运行,不会干扰前台应用的正常操作。
注意:
BITS的下载方式通常比普通 HTTP 下载更为稳定,适合在网络不稳定时使用。
15. 批量下载文件(使用 wget 或 aria2)
如果你需要从一个列表中批量下载多个文件,工具如 wget 和 aria2 都支持批量下载功能。
-
使用
wget批量下载文件(通过文件列表):首先创建一个包含下载链接的文本文件(如
urls.txt),每一行一个 URL,例如:txtCopy Codehttp://example.com/file1.zip http://example.com/file2.zip http://example.com/file3.zip然后使用以下命令批量下载:
cmdCopy Codewget -i urls.txt -
使用
aria2批量下载:aria2同样支持批量下载,并且可以通过简单的命令实现并行下载。你也可以从文件列表中下载:cmdCopy Codearia2c -i urls.txtaria2默认会并行下载多个文件,这有助于提高下载速度。
16. 使用 curl 下载多个文件并行
如果你使用的是 curl,并且希望同时下载多个文件,可以通过以下方式实现并行下载:
curl -O http://example.com/file1.zip &
curl -O http://example.com/file2.zip &
curl -O http://example.com/file3.zip &
wait
以上命令将在后台并行启动多个下载进程,& 符号用于将每个下载任务放在后台执行,wait 用于等待所有任务完成。
注意:
- 这种方法适合简单的批量并行下载,但无法像
aria2那样高效地控制并发数量。 - 并行下载时,确保你的网络带宽足够支持多个文件的同时下载。
17. 使用 PowerShell 获取 HTTP 响应头信息
有时,在下载文件之前,我们可能需要检查文件的大小、类型或是否存在。你可以使用 PowerShell 的 Invoke-WebRequest 来获取 HTTP 响应头,帮助你更好地控制下载过程。
示例命令:
$response = Invoke-WebRequest -Uri "http://example.com/file.zip" -Method Head
$response.Headers
这个命令会返回文件的 HTTP 响应头信息,包括文件大小(Content-Length),文件类型(Content-Type),以及其他元数据。通过查看文件的大小,你可以决定是否开始下载,或者是否有足够的空间。
18. 使用 curl 获取文件信息
使用 curl 时,可以通过 -I 选项获取文件的 HTTP 响应头:
curl -I http://example.com/file.zip
这将返回文件的 HTTP 头信息,其中包括 Content-Length(文件大小)、Content-Type(文件类型)等信息。
19. 下载带有复杂查询字符串的文件
对于包含复杂查询字符串的 URL(例如,有多个参数的 URL),你可以直接通过命令行工具下载文件。
示例使用 curl:
curl -O "http://example.com/file.zip?param1=value1¶m2=value2"
示例使用 Invoke-WebRequest(PowerShell):
Invoke-WebRequest -Uri "http://example.com/file.zip?param1=value1¶m2=value2" -OutFile "C:\path\to\save\file.zip"
注意:
- 确保 URL 中的查询字符串完全正确,并且特殊字符(如
&,=,?等)没有被错误地转义。
20. 利用 aria2 加速下载(多线程下载)
aria2 支持多线程下载,并且可以在多个连接之间分配下载任务,从而加速下载过程。例如:
aria2c -x 16 -s 16 -o C:\path\to\save\file.zip http://example.com/file.zip
解释:
-x 16表示最多使用 16 个连接来下载文件。-s 16表示从服务器请求文件时使用 16 个分段进行下载。- 这种方式可以大大提高大文件下载的速度,尤其是在高带宽网络下。
21. 解决下载速度慢的问题
如果在下载过程中遇到速度慢的情况,可能与以下因素有关:
- 网络带宽限制:确保没有其他程序占用过多的带宽。
- 下载服务器的带宽限制:某些网站可能对每个连接的下载速度有限制,你可以尝试使用多个连接来加速下载(如通过
aria2的并行下载功能)。 - 更换下载源:如果文件可以通过多个服务器下载,尝试切换到其他服务器或者镜像站点。
- 使用 CDN 加速:一些网站会提供 CDN(内容分发网络)加速功能,选择离你更近的 CDN 节点下载文件,可以提高速度。
22. 防止下载文件损坏(校验文件)
下载过程中,文件可能会损坏。为了确保文件完整,可以使用哈希值(如 MD5、SHA-1 或 SHA-256)来校验下载的文件。
步骤:
- 首先获取文件的哈希值(通常文件提供方会提供)。
- 然后使用工具(如 PowerShell)来计算你下载的文件的哈希值,并与提供的哈希值进行比较。
使用 PowerShell 计算文件的 SHA-256 哈希值:
Get-FileHash "C:\path\to\file.zip" -Algorithm SHA256
如果计算出的哈希值与提供的哈希值一致,说明文件没有损坏。
无论是下载单个文件、批量文件,还是提高下载效率,Windows 提供了多种命令行工具和方法来完成这些任务。从 PowerShell、wget、curl 到第三方工具如 aria2,每种工具都有其适用场景。掌握这些工具的使用方法,可以帮助你在 Windows 上高效、可靠地下载文件。如果遇到下载中断、速度慢或文件损坏等问题,通过工具的高级选项(如多线程、断点续传、文件校验等)可以有效地解决。
探索 Windows 下的下载技巧,我们可以进一步深入了解一些其他实用的技巧和方法,这些技巧不仅有助于提高下载效率,还能帮助你更好地管理下载任务。
23. 使用 PowerShell 自动化下载任务
PowerShell 是一个强大的工具,可以用来自动化和调度下载任务。通过结合脚本,可以定时、批量下载文件,或者在特定条件下自动启动下载。
示例:自动定时下载文件
假设你需要每天定时下载一个文件,可以使用 PowerShell 脚本配合任务计划程序来实现:
-
创建一个 PowerShell 脚本(如
downloadFile.ps1):powershellCopy Code$url = "http://example.com/file.zip" $destination = "C:\path\to\save\file.zip" Invoke-WebRequest -Uri $url -OutFile $destination -
使用 Windows 任务计划程序定时运行该脚本:
- 打开任务计划程序,点击 "创建基本任务"。
- 在触发器中选择 "每天" 或其他适合的时间。
- 在操作中选择 "启动程序",并指向 PowerShell 脚本的路径。
这样,你就可以自动化每天的下载任务了。
24. 使用 wget 下载带认证的文件
如果你需要下载的文件是从需要认证的服务器获取的(如需要用户名和密码),你可以使用 wget 在命令行中加入认证信息。
示例:使用基本认证下载文件
wget --user=username --password=password http://example.com/file.zip
如果网站使用的是其他类型的认证(如令牌或表单认证),你也可以通过 wget 配合请求头(headers)来完成。例如:
wget --header="Authorization: Bearer YOUR_ACCESS_TOKEN" http://example.com/file.zip
注意: 使用命令行时,尤其是涉及敏感信息(如用户名、密码、令牌)时,要特别小心,避免泄露凭证。
25. 处理下载文件中的重定向
很多时候,下载链接会因为重定向而导致下载失败。wget 和 curl 都支持自动处理重定向。
示例:使用 wget 处理重定向
默认情况下,wget 会跟踪 HTTP 重定向。如果遇到重定向链接,wget 会自动跳转到新地址继续下载文件:
wget http://example.com/redirected-file.zip
示例:使用 curl 处理重定向
curl 也可以通过 -L 参数来跟踪重定向:
curl -L http://example.com/redirected-file.zip -o file.zip
使用 -L 参数,curl 会自动跟随所有重定向并下载最终目标文件。
26. 批量下载大文件时的速度优化
如果你需要下载多个大文件,下载速度可能会受到网络波动或服务器限制的影响。为了优化下载速度,可以考虑以下几种方法:
-
使用多线程下载: 使用支持多线程下载的工具(如
aria2)可以显著提高下载速度。aria2会将一个文件分成多个部分进行并行下载,从而提升下载效率。示例命令(最大 16 个线程):
cmdCopy Codearia2c -x 16 -s 16 -d "C:\path\to\save" http://example.com/file1.zip -
切换下载源: 如果某个服务器的下载速度较慢,可以尝试切换到镜像站点或其他 CDN 服务器下载,通常这些服务器离你更近,速度也更快。
-
下载管理工具: 使用下载管理器(如
Internet Download Manager (IDM))可以帮助你加速和管理下载任务。IDM 支持多个线程下载和自动恢复功能,是一个非常受欢迎的工具。
27. 通过下载工具处理限速
许多下载站点对每个连接的速度进行限制,或者根据你的地理位置限制带宽。为了绕过这些限制,使用支持断点续传和多线程下载的工具可以帮助你提升下载速度。
例如:使用 IDM 进行下载
- IDM 支持多线程下载,通过分割文件并行下载,可以大大提升下载速度,尤其是对于下载大文件时。
- 另外,IDM 还支持自动重新连接和恢复下载,适用于不稳定的网络环境。
另外,aria2 也有类似的功能,可以通过调整 -x(最大连接数)和 -s(分段数)来优化下载速度。
28. 使用 aria2 限制下载速度
如果你在下载时需要限制下载的带宽(比如你不想占用全部带宽),可以使用 aria2 来设置速度限制。
示例:限制最大下载速度为 1MB/s
aria2c --max-download-limit=1M -o "file.zip" http://example.com/file.zip
这个命令将会将下载速度限制为每秒 1MB。
29. 下载文件并自动解压
如果你下载的是压缩文件(如 .zip 文件),并且希望在下载完成后自动解压,可以使用 PowerShell 或其他脚本来实现这一功能。
示例:下载并自动解压 .zip 文件(使用 PowerShell)
$url = "http://example.com/file.zip"
$destination = "C:\path\to\save\file.zip"
$extractPath = "C:\path\to\extract\"
# 下载文件
Invoke-WebRequest -Uri $url -OutFile $destination
# 解压文件
Expand-Archive -Path $destination -DestinationPath $extractPath
这个脚本首先下载文件,然后使用 Expand-Archive 命令将下载的 .zip 文件解压到指定目录。
30. 通过 PowerShell 检查下载文件的完整性
如果你希望确保下载的文件没有损坏,除了使用哈希值来校验文件完整性外,你还可以在 PowerShell 中使用 Test-FileHash 来验证文件的哈希。
示例:校验下载文件的哈希值
假设你已经知道目标文件的 SHA-256 哈希值(例如,文件的 MD5 或 SHA-256 校验和),可以使用以下命令验证下载文件的完整性:
$expectedHash = "your_expected_sha256_hash_value"
$filePath = "C:\path\to\downloaded\file.zip"
$actualHash = Get-FileHash -Path $filePath -Algorithm SHA256
if ($actualHash.Hash -eq $expectedHash) {
Write-Host "文件完整,下载成功!"
} else {
Write-Host "文件损坏,下载失败!"
}
通过这种方式,你可以确保下载的文件与预期一致,避免文件损坏的情况。
31. 使用 wget 自动重试下载
如果下载过程中遇到错误或网络问题,可以通过 wget 配置自动重试机制,确保下载任务可以顺利完成。
示例:设置最大重试次数
wget --tries=10 --timeout=30 http://example.com/file.zip
这个命令设置了 wget 在下载失败时最多重试 10 次,每次尝试的超时时间为 30 秒。这样可以避免因为偶尔的网络波动而中断下载任务。
通过合理使用这些高级技巧,你可以在 Windows 上更高效、更可靠地管理下载任务。无论是自动化下载、批量下载,还是处理下载中常见的问题(如限速、重定向、文件损坏等),掌握这些方法能够大大提升你的下载体验。
深入探讨一些更为高级的下载技巧,让你能够在不同场景下提高下载效率和管理能力。
32. 利用 curl 实现多种下载方式
curl 是一个非常灵活的命令行工具,除了支持基本的文件下载外,它还支持多种协议和功能,可以用于更复杂的下载需求。
示例:使用 curl 下载并显示下载进度
curl 默认会显示下载的进度条,表示下载进度、速度、剩余时间等信息。如果你需要更加详细的进度信息,可以使用 -# 参数来让进度条显示得更直观。
curl -# -o "file.zip" http://example.com/file.zip
示例:下载并限制速度
如果你需要限制下载的带宽,可以通过 --limit-rate 参数来控制下载速度:
curl --limit-rate 500k -o "file.zip" http://example.com/file.zip
这个命令将下载速度限制为每秒 500KB。
示例:使用代理下载
如果你需要通过代理服务器进行下载,curl 也支持通过代理来获取文件:
curl -x http://proxyserver:port -o "file.zip" http://example.com/file.zip
这将通过指定的代理服务器下载文件。
33. 下载视频文件
许多人需要下载在线的视频文件,尤其是流媒体网站的视频。在这种情况下,工具如 youtube-dl 或 yt-dlp 变得非常有用。
示例:使用 yt-dlp 下载 YouTube 视频
yt-dlp 是 youtube-dl 的一个增强版本,支持更多网站,并且有更多高级选项。你可以通过以下命令来下载视频:
yt-dlp https://www.youtube.com/watch?v=dQw4w9WgXcQ
该命令将自动下载视频。如果你想要指定保存的文件夹,可以使用 -o 参数:
yt-dlp -o "C:\Downloads\%(title)s.%(ext)s" https://www.youtube.com/watch?v=dQw4w9WgXcQ
示例:下载视频并提取音频
如果你只需要下载音频而不是完整的视频,可以使用以下命令:
yt-dlp -x --audio-format mp3 https://www.youtube.com/watch?v=dQw4w9WgXcQ
这将下载并提取音频,格式为 MP3。
34. 优化大文件下载的稳定性
对于一些特别大的文件(例如,几 GB 以上的文件),下载过程中经常会出现中断或超时的情况。在这种情况下,你可以使用 断点续传 和 多线程下载 来提高下载的稳定性和速度。
断点续传:
许多下载管理工具,如 aria2 或 IDM,都支持断点续传功能。假如你正在下载一个大文件,下载途中出现中断,你可以继续从断点位置重新开始下载,避免重新下载整个文件。
示例:使用 aria2 进行断点续传
aria2c -c -o "largefile.zip" http://example.com/largefile.zip
其中,-c 参数表示继续下载文件,如果文件已经部分下载过,aria2 会从上次中断的地方继续下载。
35. 下载文件并自动备份
在企业环境或个人数据保护需求较高的场景下,下载的文件往往需要自动备份或同步到其他设备。你可以结合 同步工具 或 自动备份软件 来完成这个任务。
示例:使用 robocopy 自动备份下载的文件
robocopy 是 Windows 自带的一个强大复制工具,可以用来同步或备份文件。假设你下载了一个文件,并希望将其自动备份到外部硬盘或云存储目录,你可以创建一个批处理脚本,定期进行备份。
robocopy "C:\path\to\downloaded" "E:\backup\downloaded" /MIR
这个命令会将下载目录中的文件镜像(/MIR)到指定的备份目录。如果你希望定时执行这个备份任务,可以将其添加到任务计划程序中。
36. 使用 aria2 管理多个下载任务
如果你有多个下载任务需要同时进行,可以通过 aria2 来管理多个文件的下载。aria2 支持批量下载,而且支持下载多个文件并行处理。
示例:使用 aria2 下载多个文件
aria2c -i download_list.txt
在 download_list.txt 文件中,列出所有下载链接,每个链接占一行:
http://example.com/file1.zip
http://example.com/file2.zip
http://example.com/file3.zip
使用上述命令后,aria2 会自动并行下载所有列出的文件。
37. 下载文件并使用加密存储
如果你需要下载敏感数据并进行加密存储,可以在下载完成后对文件进行加密。Windows 自带的 BitLocker 或 Veracrypt 可以帮助你加密文件或文件夹,保证下载内容的安全性。
示例:使用 PowerShell 加密文件
你可以在 PowerShell 中使用 Protect-CmsMessage 来加密文件:
$file = "C:\path\to\downloaded\file.zip"
$encryptedFile = "C:\path\to\downloaded\file.zip.encrypted"
Protect-CmsMessage -Path $file -To "recipient@example.com" -OutFile $encryptedFile
这个命令会将下载的文件加密,只有拥有合适解密密钥的人才能访问它。
38. 使用 Cloud Storage 自动同步下载文件
如果你希望下载的文件能自动同步到云存储(例如,Google Drive、OneDrive 或 Dropbox),你可以通过安装这些云存储客户端来实现文件自动同步。大部分云存储客户端都支持 实时同步,只要你将下载的文件放入同步目录,它们会自动上传到云端。
示例:将下载文件自动上传到 Google Drive
- 安装 Google Drive 桌面应用。
- 将文件保存到 Google Drive 的同步文件夹中。这样,下载的文件会在下载完成后自动同步到 Google Drive。
这样,你可以确保下载的文件始终处于云端备份,避免数据丢失的风险。
39. 通过命令行定期下载内容
如果你需要定期从某个网站下载内容(例如日志文件或报告),可以使用任务调度程序和命令行工具(如 curl 或 wget)配合创建定时任务。
示例:使用 Windows 任务计划程序和 curl 定期下载报告
-
创建一个 PowerShell 脚本(例如
downloadReport.ps1):powershellCopy Codecurl -o "C:\path\to\save\report.pdf" "http://example.com/report.pdf" -
打开 任务计划程序,设置一个新的计划任务,每天或每周运行该脚本,从而定期下载最新的报告。
40. 下载时避开地区限制(VPN)
有时你可能会遇到地理限制,导致无法下载某些内容。使用 VPN(虚拟专用网络)可以帮助你绕过这些限制,通过选择其他国家的服务器下载文件。
示例:使用 VPN 配合下载
在 VPN 启动并连接到适当的地区后,你可以使用任何下载工具(如 wget, curl 或下载管理器)进行正常下载。VPN 将使你仿佛位于指定国家,从而突破地区限制。
以上这些技巧和工具,可以帮助你在 Windows 系统下更高效、更安全地进行文件下载、管理下载任务和处理大文件。
使用 PowerShell 下载文件,可以使用 Invoke-WebRequest 命令。以下是一个基本示例:
Invoke-WebRequest -Uri "https://example.com/file.zip" -OutFile "C:\path\to\save\file.zip"
说明:
-Uri:指定要下载文件的 URL。-OutFile:指定文件保存的路径和文件名。
使用 PowerShell 下载文件的另一种方法,可以使用 New-Object System.Net.WebClient 对象的 DownloadFile 方法。这是另一种常见的下载方式。以下是实现下载的命令:
$webclient = New-Object System.Net.WebClient
$webclient.DownloadFile("https://example.com/file.zip", "C:\path\to\save\file.zip")
说明:
New-Object System.Net.WebClient创建一个WebClient对象,专门用于下载文件。DownloadFile方法用于下载指定 URL 的文件并保存到本地指定路径。
除了 Invoke-WebRequest 和 New-Object System.Net.WebClient,你还可以通过其他 PowerShell 方法来下载文件。以下是几种常见的方法:
1. 使用 Start-BitsTransfer 命令
Start-BitsTransfer 是 PowerShell 提供的一个用于文件传输的命令,适用于大文件的下载或上传。它使用后台智能传输服务(BITS),通常用于需要高效、可靠传输的任务。
Start-BitsTransfer -Source "https://example.com/file.zip" -Destination "C:\path\to\save\file.zip"
- 优点:适合大文件下载,具有断点续传功能,支持后台传输。
2. 使用 System.Net.Http.HttpClient 类
可以使用 .NET 的 HttpClient 类来下载文件。此方法提供了更多控制选项,如并发连接、请求头等。
$client = New-Object System.Net.Http.HttpClient
$response = $client.GetAsync("https://example.com/file.zip").Result
$response.Content.ReadAsByteArrayAsync().Result | Set-Content -Path "C:\path\to\save\file.zip" -Force
- 优点:适用于高级应用,可以控制请求的头部和其他细节。
3. 使用 WebRequest 类
另一种方法是使用 .NET 的 WebRequest 类,它提供了对请求和响应的更细粒度控制。
$request = [System.Net.WebRequest]::Create("https://example.com/file.zip")
$response = $request.GetResponse()
$stream = $response.GetResponseStream()
$fs = New-Object System.IO.FileStream("C:\path\to\save\file.zip", [System.IO.FileMode]::Create)
$buffer = New-Object byte[] 1024
while(($read = $stream.Read($buffer, 0, $buffer.Length)) -gt 0) {
$fs.Write($buffer, 0, $read)
}
$fs.Close()
$stream.Close()
- 优点:适合需要详细管理流、处理复杂响应等高级操作。
4. 使用 wget 或 curl 命令(在 Windows 上安装)
如果你在 Windows 上安装了 wget 或 curl,可以通过调用这些工具来下载文件。PowerShell 可以直接执行这些命令。
wget "https://example.com/file.zip" -OutFile "C:\path\to\save\file.zip"
或者:
curl -o "C:\path\to\save\file.zip" "https://example.com/file.zip"
- 优点:这些工具非常简便,可以快速下载文件,也支持很多命令行参数。
总结:
| 方法 | 描述 | 优点 |
|---|---|---|
Invoke-WebRequest |
PowerShell 内置的命令,功能强大 | 适合普通下载需求,支持认证、代理、请求头等功能 |
New-Object System.Net.WebClient |
创建 WebClient 对象进行文件下载 |
简单易用,适合小型文件下载 |
Start-BitsTransfer |
使用 BITS(后台智能传输服务)进行文件传输 | 高效,适合大文件,支持断点续传 |
HttpClient |
使用 .NET 的 HttpClient 类进行下载 |
高级控制,支持异步下载和多种请求选项 |
WebRequest |
使用 .NET 的 WebRequest 类处理下载 |
细粒度控制,适合复杂下载需求 |
wget 或 curl |
使用外部工具(如 wget 或 curl)下载文件 | 简单快速,支持多种命令行选项 |
除了上面提到的方法,还有一些其他的另类下载方式可以用来在 PowerShell 中下载文件,尤其适用于特定的需求或场景。以下是一些常见的另类下载方法:
1. 使用 FTP 下载
如果你需要通过 FTP 下载文件,可以使用 PowerShell 的 WebClient 类来进行 FTP 文件下载。
$ftp = "ftp://example.com/file.zip"
$localPath = "C:\path\to\save\file.zip"
$webclient = New-Object System.Net.WebClient
$webclient.Credentials = New-Object System.Net.NetworkCredential("username", "password")
$webclient.DownloadFile($ftp, $localPath)
- 优点:适用于通过 FTP 协议下载文件,支持认证。
2. 通过 FileInfo 类操作本地文件下载
如果你要从本地系统中传输文件(比如本地网络共享或指定位置),可以使用 FileInfo 类结合网络传输。
$source = "C:\path\to\source\file.zip"
$destination = "\\network\share\path\to\save\file.zip"
$file = New-Object System.IO.FileInfo($source)
$file.CopyTo($destination, $true) # $true 表示覆盖现有文件
- 优点:适用于本地文件的传输或网络共享文件。
3. 使用 WebClient 和 Async 下载
对于需要异步下载的场景,你可以使用 WebClient 类的异步方法进行文件下载,以便不阻塞脚本的其他部分。
$webclient = New-Object System.Net.WebClient
$webclient.DownloadFileAsync("https://example.com/file.zip", "C:\path\to\save\file.zip")
- 优点:异步下载不会阻塞执行,适合需要同时处理其他任务的场景。
4. 通过 SFTP 下载(使用第三方模块)
PowerShell 默认不支持 SFTP(安全文件传输协议),但你可以使用第三方模块,比如 PSSFTP,来实现 SFTP 文件下载。
Install-Module -Name PSSFTP
$session = New-SFTPSession -ComputerName "sftp.example.com" -Credential (Get-Credential)
Get-SFTPFile -SessionId $session.SessionId -RemoteFile "/remote/path/file.zip" -LocalPath "C:\path\to\save\file.zip"
- 优点:适用于需要通过 SFTP 进行安全文件传输的场景。
5. 通过 Powershell 与 Python 脚本结合下载
如果你需要更复杂的下载逻辑,可以结合 Python 的 requests 库进行文件下载,并通过 PowerShell 调用 Python 脚本。
python -c "import requests; r = requests.get('https://example.com/file.zip'); open('C:\\path\\to\\save\\file.zip', 'wb').write(r.content)"
- 优点:适用于需要在 PowerShell 中执行 Python 脚本的场景,尤其是 Python 更适合处理复杂的文件下载任务。
6. 通过 CURL 在 PowerShell 中下载(适用于 HTTP/HTTPS)
Windows 系统默认提供了 curl 工具,可以直接在 PowerShell 中调用进行文件下载。
curl -o "C:\path\to\save\file.zip" "https://example.com/file.zip"
- 优点:
curl语法简洁,支持丰富的功能,适用于 HTTP 和 HTTPS 下载。
7. 通过 Start-Process 运行外部下载工具
如果你已经安装了外部下载工具(例如 aria2c 或 wget),你可以通过 Start-Process 来调用它们下载文件。
Start-Process "aria2c" -ArgumentList "https://example.com/file.zip", "-d", "C:\path\to\save"
- 优点:可以利用外部工具的高效下载功能,比如
aria2支持多线程下载。
8. 通过 Get-Content 和 Out-File 实现下载(适用于文本数据)
如果需要下载文本数据(例如 JSON、CSV 等格式),可以利用 Get-Content 来读取内容,然后使用 Out-File 保存。
$uri = "https://example.com/data.json"
$contents = Get-Content -Uri $uri
$contents | Out-File "C:\path\to\save\data.json"
- 优点:适用于文本文件下载,尤其是 JSON 或 XML 数据。
9. 通过 StreamReader 和 StreamWriter 下载(适用于大文件流)
如果文件比较大,建议使用流操作来逐块下载,避免一次性加载整个文件。
$uri = "https://example.com/largefile.zip"
$webRequest = [System.Net.WebRequest]::Create($uri)
$response = $webRequest.GetResponse()
$stream = $response.GetResponseStream()
$reader = New-Object System.IO.StreamReader($stream)
$writer = New-Object System.IO.StreamWriter("C:\path\to\save\largefile.zip")
while ($line = $reader.ReadLine()) {
$writer.WriteLine($line)
}
$writer.Close()
$reader.Close()
$stream.Close()
- 优点:适用于大文件下载,可以逐块处理,避免内存占用过大。
更高级的下载方式,下面列出几种可选方案:
1. 通过 PowerShell 使用 Invoke-RestMethod
Invoke-RestMethod 是 PowerShell 中的一个命令,可以用来处理 REST API 的请求和响应,通常适用于下载 API 返回的数据或文件。
Invoke-RestMethod -Uri "https://example.com/file.zip" -OutFile "C:\path\to\save\file.zip"
- 优点:简洁,适用于需要处理 HTTP 请求和响应的场景。
2. 通过 System.Net.FtpWebRequest 下载文件(FTP 协议)
你可以使用 FtpWebRequest 来处理 FTP 协议的下载,适合更复杂的 FTP 文件管理。
$ftpUrl = "ftp://example.com/file.zip"
$localFile = "C:\path\to\save\file.zip"
$ftpRequest = [System.Net.FtpWebRequest]::Create($ftpUrl)
$ftpRequest.Method = [System.Net.WebRequestMethods+Ftp]::DownloadFile
$ftpRequest.Credentials = New-Object System.Net.NetworkCredential("username", "password")
$ftpResponse = $ftpRequest.GetResponse()
$ftpStream = $ftpResponse.GetResponseStream()
$fileStream = New-Object System.IO.FileStream($localFile, [System.IO.FileMode]::Create)
$buffer = New-Object byte[] 1024
while ($bytesRead = $ftpStream.Read($buffer, 0, $buffer.Length)) {
$fileStream.Write($buffer, 0, $bytesRead)
}
$fileStream.Close()
$ftpStream.Close()
- 优点:适用于通过 FTP 协议进行复杂文件管理。
3. 通过 DownloadFileAsync 异步下载(非阻塞操作)
当需要在下载的同时进行其他任务时,可以使用异步方法 DownloadFileAsync。
$webclient = New-Object System.Net.WebClient
$webclient.DownloadFileAsync("https://example.com/file.zip", "C:\path\to\save\file.zip")
- 优点:下载过程不会阻塞其他操作,适合多任务处理。
4. 通过 Start-Process 调用外部下载工具
如果你喜欢使用其他下载工具,可以通过 Start-Process 调用它们。
Start-Process "wget" -ArgumentList "https://example.com/file.zip", "-O", "C:\path\to\save\file.zip"
- 优点:利用外部工具,如
wget、curl、aria2等,支持更多高级特性。
5. 使用 Invoke-WebRequest 搭配认证
如果文件需要身份验证,可以在 Invoke-WebRequest 中添加认证信息。
$headers = @{Authorization=("Basic {0}" -f [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("username:password")))}
Invoke-WebRequest -Uri "https://example.com/protectedfile.zip" -Headers $headers -OutFile "C:\path\to\save\file.zip"
- 优点:支持基本的 HTTP 认证,适用于需要认证的文件下载。
6. 通过 HttpListener 启动 HTTP 服务器并提供文件下载
如果你想自己提供文件下载服务,可以通过 HttpListener 创建一个简单的 HTTP 服务器,供其他机器下载文件。
$listener = New-Object System.Net.HttpListener
$listener.Prefixes.Add("http://localhost:8080/")
$listener.Start()
while ($true) {
$context = $listener.GetContext()
$filePath = "C:\path\to\file.zip"
$file = [System.IO.File]::OpenRead($filePath)
$response = $context.Response
$response.ContentType = "application/zip"
$response.ContentLength64 = $file.Length
$file.CopyTo($response.OutputStream)
$response.Close()
}
- 优点:通过本地 HTTP 服务,适合自建下载服务器。
7. 通过 WebClient 结合代理服务器下载
如果下载文件时需要使用代理,可以通过设置代理服务器进行下载。
$proxy = New-Object System.Net.WebProxy("http://proxyserver:8080")
$webclient = New-Object System.Net.WebClient
$webclient.Proxy = $proxy
$webclient.DownloadFile("https://example.com/file.zip", "C:\path\to\save\file.zip")
- 优点:适用于需要通过代理进行下载的场景。
8. 通过 HttpWebRequest 设置自定义请求头
如果需要下载时定制请求头(例如设置 User-Agent),可以使用 HttpWebRequest 来实现。
$uri = "https://example.com/file.zip"
$request = [System.Net.HttpWebRequest]::Create($uri)
$request.Headers.Add("User-Agent", "Mozilla/5.0")
$response = $request.GetResponse()
$stream = $response.GetResponseStream()
$fs = New-Object System.IO.FileStream("C:\path\to\save\file.zip", [System.IO.FileMode]::Create)
$buffer = New-Object byte[] 1024
while (($read = $stream.Read($buffer, 0, $buffer.Length)) -gt 0) {
$fs.Write($buffer, 0, $read)
}
$fs.Close()
$stream.Close()
- 优点:适用于需要自定义请求头的高级用例。
9. 通过 Out-File 和 Invoke-WebRequest 下载文本
对于文本文件或其他非二进制文件,可以直接将下载内容输出到文件。
Invoke-WebRequest -Uri "https://example.com/data.json" | Out-File "C:\path\to\save\data.json"
- 优点:适用于文本文件下载,如 JSON 或 XML 文件。
这些方法可以帮助你在 PowerShell 中实现更为灵活和高效的文件下载。

浙公网安备 33010602011771号