如何使用Invoke-WebRequest下载文件并自动使文件名和浏览器下载的文件名相同?我没有找到一种方法可以不手动指定文件名就使用-OutFile
。如果需要几行其他代码也可以接受。
一个好的解决方案应该:
- 即使请求URL中没有文件名,也要能够正常工作。例如,下载Visual Studio x64远程调试工具的URL是
http://go.microsoft.com/fwlink/?LinkId=393217
,但它下载的文件名是rtools_setup_x64.exe
。 - 除非Invoke-WebRequest已经使用-OutFile参数将整个文件保存在内存中后再写入磁盘,否则不会将整个文件保存在内存中。
谢谢!
http://download.microsoft.com/download/D/2/8/D28C6482-555B-4777-876F-85897C071FB6/rtools_setup_x64.exe
? - Knuckle-Draggerwget
和curl
就是这样做的,对于任何下载URL到文件名的命令来说,这是一个简单的期望。许多服务将提供一个“文件”,但在不包含文件名的URL后面。 - Jason R. Coombs