Powershell Net.WebClient.DownloadFile从批处理文件下载Google Drive文件时无法识别某些字符

Powershell Net.WebClient.DownloadFile从批处理文件下载Google Drive文件时无法识别某些字符,powershell,batch-file,cmd,Powershell,Batch File,Cmd,我正在尝试通过批处理文件和使用Net.WebClient.DownloadFile函数下载一个托管在Google Drive上的文件,但无法识别url上的某些字符 这是控制台上接收到的错误: 这是我最后一次尝试: @echo off SetLocal EnableExtensions EnableDelayedExpansion set downloadurl="https://drive.google.com/uc?authuser=0&id=1gCLfI

我正在尝试通过批处理文件和使用
Net.WebClient.DownloadFile
函数下载一个托管在Google Drive上的文件,但无法识别url上的某些字符

这是控制台上接收到的错误:

这是我最后一次尝试:

    @echo off

    SetLocal EnableExtensions EnableDelayedExpansion

    set downloadurl="https://drive.google.com/uc?authuser=0&id=1gCLfIwL2FfswelXIsK6tkWm5kCRSTNh8&export=download"
    set downloadpath=%LOCALAPPDATA%\test.txt

    powershell -command "& { (New-Object Net.WebClient).DownloadFile('%downloadurl%', '%downloadpath%'); }"

    pause
我怎样才能解决它


提前感谢。

SET语句中的引号由cmd解释,因此它会尝试继续解释,并被单引号弄糊涂。更改代码如下:

@ECHO OFF

SET "downloadurl=https://drive.google.com/uc?authuser=0&id=1gCLfIwL2FfswelXIsK6tkWm5kCRSTNh8&export=download"

powershell.exe -Command "Invoke-WebRequest -Uri %downloadurl% -OutFile $Env:LocalAppData\test.txt"

PAUSE