今天网上看到一段不错的bat代码,可以获取用户输入,其实就是简单的交互,可以将用户输入的内容配置成参数等,具体的大家可以根据需要增加功能即可。
1. 核心代码
set /p var=请输入 :
使用set进行设置变量,并使用/p参数阻塞命令,等待输入完成再进行下一行的其他命令-----
/P 命令行开关允许将变量数值设成用户输入的一行输入。读取输入行之前,显示指定的 promptString。promptString 可以是空的。
2.基础应用,得到输入内容并打印
@echo off set /p var=请输入---- echo 您输入的内容为%var% pause
效果图
bat获取用户输入,执行VBS文件
set /P StrInput="输入数字:" echo 输入的数字为%StrInput% set /P Flg="是否执行(y/n):" IF "%Flg%" equ "y" ( echo 执行命令 cscript abc.vbs "%StrInput%" )
注意:
等于号(=)之间不能有空格,不然会出错。
判断值大小最好使用equ之类。
条件判断后的括号的有空格。
3.得到输入内容并保存在txt中
其实就是通过echo %var% >>文件名.txt也可以用一个>,单个>是覆盖原来的内容,两个>>是在原来内容的基础上增加一行。
> 清除文件中原有的内容后再写入
>> 追加内容到文件末尾,而不会清除原有的内容主要将本来显示在屏幕上的内容输出到指定文件中指定文件如果不存在,则自动生成该文件
@echo off set /p var=请输入 : echo 您输入的内容为%var% @echo %var%>>输入的内容.txt echo 文件保存完毕 pause
运行图
4.批处理中从文件中获得输入信息
<
从文件中获得输入信息,而不是从屏幕上
一般用于 date time label 等需要等待输入的命令,这样就可以不等待输入直接修改当前日期
@echo off echo 2022-11-19>temp.txt date <temp.txt del temp.txt