使用批处理文件运行和执行程序

问题描述 投票:0回答:1

我有这个批处理脚本可以帮助我自动下载和运行我的程序。但这是我遇到的问题:这会创建自己的目录,但下载的程序不会在其中存储任何内容。

问:如何让这个程序存放在已经创建好的目录下?

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

让下载的文件保存并在创建的目录中运行一直是主要问题。我正在寻找解决这个问题的方法。

batch-file echo batch-processing
1个回答
0
投票

您应该阅读 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
    提供完整路径,要么像上面那样做
© www.soinside.com 2019 - 2024. All rights reserved.