找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 147191|回复: 20

[数值计算] 纯DOS下接受字符输入的写法

[复制链接]
发表于 2013-10-16 15:43:30 | 显示全部楼层 |阅读模式
  1. @echo off
  2. set /p input=请输入:
  3. set num1=%input%
  4. set num2=123
  5. if %num1% equ %num2% echo "="
  6. if %num1% lss %num2% echo "<"
  7. if %num1% gtr %num2% echo ">"
  8. pause>nul
复制代码
这样一段代码,在纯dos下无法执行,在网上查到是说set在纯DOS中是不带开关的,所以set /p无效,
但是没找到解决办法,请问大佬们帮忙解答,谢过先。
 楼主| 发表于 2013-10-16 16:29:16 | 显示全部楼层
有没有高手能解决这个问题呢
发表于 2013-10-16 16:52:00 | 显示全部楼层
choice命令
 楼主| 发表于 2013-10-16 17:10:32 | 显示全部楼层
choice命令
foxJL 发表于 2013-10-16 16:52

版主你好,choice除了知道选择,(choice /c:dme defrag,mem,end ),关于接受输入的用法不知道啊,能给写一下么,多谢。
 楼主| 发表于 2013-10-16 18:05:18 | 显示全部楼层
找了很多资料,没有找到解决方案啊,恩人在哪里啊?
发表于 2013-10-16 20:44:11 | 显示全部楼层
回复 5# wangx


嗯, choice只能接收一个字符作为菜单选项,不能接收别的指定之外的字符并赋值.
好多年没用DOS我也不清楚到底有没有相关命令.
copy con c:\123.txt   命令可以接收输入的字符并保存到123.txt. ctrl+z键结束.
似乎用处也不大,纯DOS下for好像是不带参数的
 楼主| 发表于 2013-10-16 20:59:48 | 显示全部楼层
回复  wangx


嗯, choice只能接收一个字符作为菜单选项,不能接收别的指定之外的字符并赋值.
好多年没 ...
foxJL 发表于 2013-10-16 20:44

超级版主搞不定的话,估计群里也没人能搞定了。
版主我还有一个问题请教你,我想叠加字符串,但是不成功。
set p=1
for /l %%i in (1,1,10) do ( set p = %p%+%%i)写法肯定不对,能知道一下么,谢谢。
我想达到效果是1+2+3+4+...+10
 楼主| 发表于 2013-10-16 21:03:17 | 显示全部楼层
超级版主搞不定的话,估计群里也没人能搞定了。
版主我还有一个问题请教你,我想叠加字符串,但是不成功 ...
wangx 发表于 2013-10-16 20:59

我弄出来了,把%p%改成!p!就行。
看来纯dos下读输入值得问题还得好好研究一下啊,有高人知道怎么弄的话,小弟感激涕零啊。
发表于 2013-10-16 21:05:06 | 显示全部楼层

  1. @echo off
  2. for /l %%a in (1,1,10) do (
  3.   set /a a+=%%a
  4.   call,set "ss=%%ss%%+%%a"
  5. )
  6. echo,%ss:~1%=%a%
  7. pause>nul
复制代码
发表于 2013-10-16 21:07:50 | 显示全部楼层
回复 7# wangx
  1. for /l %%i in (1,1,100) do ( set/a p+=%%i)
复制代码
发表于 2013-10-16 21:13:18 | 显示全部楼层
上面的好像答非所问了...看错题目
发表于 2013-10-16 21:54:07 | 显示全部楼层
纯dos下用wbat.com
好久没碰这东西了,抱歉不能直接给你代码
 楼主| 发表于 2013-10-16 22:04:38 | 显示全部楼层
本帖最后由 wangx 于 2013-10-16 23:13 编辑
纯dos下用wbat.com
好久没碰这东西了,抱歉不能直接给你代码
fastslz 发表于 2013-10-16 21:54

谢谢你的回答,我有个问题想请教一下。
d:\dos下有一些文件,MFcY5.rmvb_1.!mv,MFcY5.rmvb_2.!mv,MFcY5.rmvb_3.!mv....MFcY5.rmvb_20.!mv
我想通过copy MFcY5.rmvb_1.!mv+MFcY5.rmvb_2.!mv+MFcY5.rmvb_3.!mv...+MFcY5.rmvb_20.!mv变成MFcY5.rmvb
我在d:\dos执行这个bat,提示“系统找不到指定文件”,应该是路径的问题,但不知道怎么改,你能帮我解答么,谢谢。

  1. @echo off
  2. set p="%~dp0MFcY5.rmvb_"
  3. for /l %%i in (1,1,5) do (
  4.     call,set p=%%p%%+"%~dp0MFcY5.rmvb_%%i.!mv"
  5. )
  6. echo %p:~21%
  7. copy /b %p% "d:\dos\MFcY5.rmvb"
  8. pause
复制代码
 楼主| 发表于 2013-10-16 23:14:46 | 显示全部楼层
上面的好像答非所问了...看错题目
foxJL 发表于 2013-10-16 21:13

你能看看上面那个问题么,谢谢。
发表于 2013-10-17 00:09:14 | 显示全部楼层
现在都什么年代了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 15:06 , Processed in 0.023924 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表