我有这个批处理脚本可以帮助我自动下载和运行我的程序。但这是我遇到的问题:这会创建自己的目录,但下载的程序不会在其中存储任何内容。
问:如何让这个程序存放在已经创建好的目录下?
md "7Zip"
echo "downloading 7Zip"
powershell -Command "Invoke-WebRequest https://www.7-zip.org/a/7z2201-x64.exe -Outfile 7Zip"
start 7Zip
echo "Done"
cls
exit
让下载的文件保存并在创建的目录中运行一直是主要问题。我正在寻找解决这个问题的方法。
您应该阅读 PowerShell 中的
Get-Help Invoke-WebRequest -Parameter OutFile
- 然后您就会知道 OutFile
指定的内容。也就是说,您可能根本无需调用 PowerShell 即可执行此操作 - 通过 curl
:
set directory=7zip
:: Create a directory first, silencing errors
mkdir "%directory%" >nul 2>&1
:: If %directory% exists AND is a directory, execute the command
if exist "%directory%\*" (
curl -O --output-dir "%directory%" "https://www.7-zip.org/a/7z2201-x64.exe"
)
只要确保你:
curl
的输出文件和目录 - 要么通过 --output
提供完整路径,要么像上面那样做