无法使批处理文件变量起作用

问题描述

echo off
echo %1%
echo %2

set web = %web%
curl -I %web%

我已经尝试过并且无法使其正常工作。 我的示例文件名为aa.bat

aa.bat https://www.google.com

这应该在命令curl -I https://www.google.com输出上出现

我无法获得它返回所需的结果。

解决方法

实际上没有必要从stdin创建变量,但是如果需要的话:

@echo off
echo %1
echo %2   Rem Your example input does not show a second input parameter,so this will probably be nothing:
set "web=%~1"
curl -I "%web%"
pause

不过,您可以按原样使用输入%1

@echo off
echo %1
echo %2
curl -I "%~1"
pause

用法:

aa.bat http://www.google.com

结果:

enter image description here

因此,这里有一些有价值的提示。打开cmd并键入help,您将在其中找到命令列表。对于这些命令,您会发现每个命令都很有趣,键入命令名称,然后键入/?set /?您将能够找到许多有用的信息,这些信息将帮助您更好地了解batch-filescmd。还请记住为cmd /?本身运行帮助。