在没有 OutFile 的情况下调用 WebRequest?

DMX*_*nal 4 powershell default file-location invoke-webrequest

我在 Powershell 中使用 Invoke-WebRequest 下载文件而不使用-OutFile参数,并且从文档here 中,该文件应该已经在我所在的目录中结束。但是,什么也没有。响应正常,没有显示错误。

那个文件可能发生了什么?我是否误解了 Invoke-WebRequest 在没有 Out 参数的情况下应该如何工作?

谢谢!

注意:我知道我可以使用参数轻松下载文件,但它非常大,我想确保它不会在我不需要的地方堵塞磁盘空间

mkl*_*nt0 7

链接的文档

默认情况下,Invoke-WebRequest将结果返回到管道。

也就是说,在-OutFile 没有文件的情况下创建。
(如果您不捕获或重定向输出,它将打印到主机(控制台)。)

作为techguy1029在注释中指出,当前目录中唯一的用武之地,如果你使用
-OutFile,但指定一个单纯的文件,而不是一个路径


顺便说一句:To-pipeline 输出是(a) 类型(派生自)的响应对象WebResponseObject,而只有响应主体的值(相当于属性 value .Content)与-OutFile.


Arc*_*Set 5

我们来谈谈微软文档中关于Invoke-WebRequest的说法

" -OutFile :指定此 cmdlet 保存响应正文的输出文件。输入路径和文件名。如果省略路径,则默认为当前位置。"

这里的关键字是,如果省略路径,它将使用当前路径。

-OutFile是String类型参数

保存到当前路径的用法是

Invoke-webrequest "http://Test.com/test.pdf" -OutFile "Test.pdf"
Run Code Online (Sandbox Code Playgroud)

否则有一个自定义路径

Invoke-webrequest "http://Test.com/test.pdf" -OutFile "C:\Test\Test.Pdf"
Run Code Online (Sandbox Code Playgroud)