电源外壳文件下载问题



我正在尝试使用PowerShell下载PuTTY可执行文件,但无法在临时路径上获取文件。

我的脚本:

$Url = "https://the.earth.li/~sgtatham/putty/latest/x86/putty.exe"
$Path = "C:%homepath%AppDataLocalTempputty.exe"
$Wc = New-Object System.Net.WebClient
$Wc.DownloadFileAsync($Url,$Path)

我正在通过CMD执行以下命令:

powershell.exe "-ExecutionPolicy" "RemoteSigned" "-file" "test.ps1"

您有两个问题,这两个问题都需要更正才能使脚本有机会工作。

  1. 从 CMD.EXE 中执行 Powershell 脚本的命令不应引用参数:

    powershell.exe -ExecutionPolicy RemoteSigned -file test.ps1

  2. 要从 powershell 中扩展系统环境变量,请不要像在 CMD 中那样用%包围它。有关更多信息,请参阅 http://ss64.com/ps/syntax-env.html;假设环境变量 HOMEPATH 存在,您将在 Powershell 中将其引用为 $env:homepath ,而不是 %homepath%

%VAR%形式不用于powershell,这仅在CMD中使用。在PowerShell中,你需要改用$env:VAR

您可以运行Get-ChildItem Env:以获取可以使用的所有环境变量的列表。

对于您的脚本,请尝试以下操作:

$Path = "$env:USERPROFILEAppDataLocalTempputty.exe"

我使用了 USERPROFILE 而不是 HOMEPATH,因为它包含驱动器号,因此如果使用不同的字母,您的脚本仍然可以工作。

相关内容

  • 没有找到相关文章

最新更新