2017-01-27 6 views
1

PowerShell을 사용하여 PuTTY 실행 파일을 다운로드하려고하지만 임시 경로에서 파일을 가져올 수 없습니다.Powershell 파일 다운로드 문제

내 스크립트를

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

내가 CMD를 통해 다음 명령을 실행하고는 :

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

받은 오류 메시지와 작동하기 위해 시도한 것에 관한 기타 정보를 포함하십시오. –

답변

0

%VAR% 양식 PowerShell에서 사용하지 않는, 이것은 단지 CMD에서 사용된다. PowerShell에서 대신 $env:VAR을 사용해야합니다.

Get-ChildItem Env:을 실행하면 사용할 수있는 환경 변수 목록을 얻을 수 있습니다.

스크립트를 들어이 시도 :

$Path = "$env:USERPROFILE\AppData\Local\Temp\putty.exe" 

내가 사용했습니다 USERPROFILE 대신 HOMEPATH을 다른 문자가 사용되는 경우 스크립트가 여전히 작동하므로이 드라이브 문자를 포함한다.

1

두 가지 문제가 있습니다. 둘 다 스크립트가 작동 할 수 있도록 수정해야합니다.

  1. 인수가 인용해서는 안 CMD.EXE 내에서 PowerShell 스크립트를 실행하기위한 명령을

    powershell.exe -ExecutionPolicy RemoteSigned -file test.ps1

  2. 는 파워 쉘 내에서 시스템 환경 변수를 확장하려면, 당신은 포위하지 않는다 CMD에서와 마찬가지로 %으로 처리하십시오. 자세한 내용은 http://ss64.com/ps/syntax-env.html을 참조하십시오. 환경 변수 HOMEPATH가 있다고 가정하면, 이 아니라 $env:homepath으로 Powershell에서 참조하게됩니다.