gpt4 book ai didi

powershell - 从 run.exe 运行 powershell 命令

转载 作者:行者123 更新时间:2023-12-03 22:53:44 25 4
gpt4 key购买 nike

我正在尝试运行这个运行良好的命令,但来自 run.exe

(new-object System.Net.WebClient).DownloadFile("host", "filename.ext");

尝试过:

powershell.exe -noexit -Command "(new-object System.Net.WebClient).DownloadFile(\"host\", \"filename.ext\");"

但是我得到这个错误:

Exception calling "DownloadFile" with "2" argument(s): "An exception occurred during a WebClient request."
At line:1 char:1
+ (new-object System.Net.WebClient).DownloadFile("host ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : WebException

host 和 filename.ext 只是占位符。

最佳答案

考虑使用 Invoke-WebRequest相反:

powershell.exe -c "Invoke-WebRequest -Uri http://server.domain.tld/path/to/file.ext -OutFile C:\path\to\save\download\file.ext"

如果您需要使用上面尝试过的旧方法,则说明您的引号转义不正确。下载调用应如下所示:

powershell.exe -noexit -Command "(new-object System.Net.WebClient).DownloadFile(`"host`", `"filename.ext`");"

上述命令的问题是您试图使用 \ 而不是 ` 来转义双引号。 PowerShell 中的转义符是 `。当然,您始终可以通过对 DownloadFile 参数使用单引号来避免对字符串进行转义:

powershell.exe -noexit -Command "(new-object System.Net.WebClient).DownloadFile('host', 'filename.ext');"

请注意,在 PowerShell 中,双引号字符串可以包含直接在其中运行的变量和子表达式,并且可以包含转义字符。单引号字符串会转义所有特殊字符,因此不能将变量或子表达式直接插入其中。单引号和双引号字符串都支持 Format Strings , 然而。

关于powershell - 从 run.exe 运行 powershell 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59566844/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com