[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]如何使批处理必须输入内容,不可以直接回车

本帖最后由 yuelaner 于 2011-8-17 02:00 编辑

写文件的批处理。
  1. @echo off
  2. echo.
  3. set /p Name="请输入名称:"
  4. set /p ok="是否验证:"
  5. echo %Name%,%ok%,>>.\File.txt
  6. goto :end
复制代码
但后来发现,如果直接回车,会发生下面效果:
,,

就是每个逗号前面都没有内容。
如何避免这样情况发生?


不知道批处理能不能达到下面要求:

1. 必须输入内容,再回车执行。
但不可以直接回车,如果直接回车,则提示需要请输入内容。

Name=只可以输入中文和英文(不分大小写),但不能输入标点及其他特殊符号,输入其他则提示输入错误。

ok=只可以输入数字,不可以输入其他,输入其他则提示输入错误。

例如:
数字可以输入34511234或其他数字,没有限制多少个数字。


类似效果:
用户名qt,8514253,
中文字ad,100,

回复 3# raymai97


测试了,但发现一个不好的地方。
就是第一次输入:你好,然后再输入数字。
到第二次输入:你好,然后再输入数字。

你好,85426,
你好,54110,


那么文件就有两个你好。
而不是用第二次结果替换第一次的结果。

效果:

第一次输入:你好 + 数字:58441
结果:
Name,OK,
你好,58441,


当如果第二次输入一样的名称:你好 + 但数字不一样了:81101

结果:
Name,OK,
你好,81101,


请问如何能替换结果?
而不是生成两个相同的名字。

TOP

后来自己加多个if + for ,可以替换了。

还是非常感谢 raymai97 ,让我回忆起部分代码。

TOP

返回列表