当我们需要从用户那里获取输入数据时,可以通过在 DOS/BAT 脚本中使用 set /p
命令来实现。set /p
命令的使用格式如下:
set /p variable=prompt text
其中,variable
是用户输入数据后赋值的变量;prompt text
是提示用户输入的文本。
获取用户输入数据并保存到文件的方式,可以使用 echo
命令将 set /p
获取到的输入数据输出至文本文件中。具体操作可以按照以下步骤进行:
- 首先,使用
set /p
命令获取用户输入数据并赋值给指定的变量,如下所示:
set /p username=请输入您的用户名:
在这个例子中,用户输入的数据将会被赋值给 username
变量中。
- 使用
echo
命令输出获取到的数据至文件中,例如:
echo %username%>userinfo.txt
在这个例子中,将会把获取到的 username
变量的值保存至名为 userinfo.txt
的文本文件中。如果文件不存在,则会自动创建并将数据写入;如果文件已存在,则会覆盖原有数据。
下面是一个完整的示例代码,演示了如何获取用户输入的用户名和密码,并将其保存至文件中:
@echo off
set /p username=请输入您的用户名:
set /p password=请输入您的密码:
echo 用户名:%username%>>userinfo.txt
echo 密码:%password%>>userinfo.txt
echo 用户信息已保存至 userinfo.txt 文件中。
在该示例代码中,程序首先分别获取用户输入的用户名和密码,然后使用 echo
命令将其输出至名为 userinfo.txt
的文件中。输出时为了区分用户名和密码,采用了不同的提示文本,输出结束后会在屏幕上显示保存成功的提示信息。
另外一个示例代码,演示了如何获取用户多行输入的文本,并将其保存至文件中:
@echo off
setlocal enableDelayedExpansion
echo 请输入您的文本,以“exit”结束:
set text=
:input
set /p tmp=
if "%tmp%"=="exit" goto end_input
set text=!text!%tmp%\n
goto input
:end_input
setlocal disableDelayedExpansion
echo %text%>input.txt
echo 用户输入已保存至 input.txt 文件中。
在该示例代码中,程序通过 setlocal enableDelayedExpansion
和 setlocal disableDelayedExpansion
命令启用和禁用延迟环境变量扩展,以防止用户输入包含了特殊字符而导致的错误。然后程序循环读取用户输入,直到输入了 exit
才结束循环。最后使用 echo
命令将获取到的文本输出至名为 input.txt
的文件中,并在屏幕上显示保存成功的提示信息。
以上是 DOS/BAT 中获取用户输入内容的代码及其保存至文件的攻略,希望可以帮助您更好地操作 DOS/BAT 脚本。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:dos/bat中获取用户输入内容的代码(保存到文件中) - Python技术站