我正在尝试通过批处理文件并使用Net.WebClient.DownloadFile
功能下载托管在Google云端硬盘上的文件,但这无法识别网址上的某些字符。
这是在控制台上收到的错误:
这是我的最后一次尝试:
@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
我如何解决?
提前感谢。
答案 0 :(得分:1)
您的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