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

[文本处理] 批处理如何实现输入的动作?

  1. @echo off
  2. set supportFile=C:\Program Files\VM\VMCC\Client\DCT\support.bat
  3. if exist "%supportFile%" (goto a) else (goto b)
  4. :a
  5. call "%supportFile%"
  6. exit
  7. :b
  8. echo "this file does not exist.."
  9. goto end
  10. :end
  11. echo.
  12. echo\
  13. pause
复制代码
比如我上面这段代码会执行一个support.bat, 然后这个BAT执行过程中会出现DOS窗口,让你输入一个网址比如www.google.com,然后点击回车..点击完成后会要求你再次点击回车,
,之后又会出现让你输入Y或者N,当然我要输入N,然后又一个回车的动作..  //一系列动作结束..
======================================
也就是说在我上面这个脚本运行后,会出现一个DOS窗口,让你在里面输入一个网址,输入完成后要进行一个回车的动作,
之后会再次要求你进行一个回车的动作..
第二个回车的动作完成后,会出现让你输入Y或者N,然后比如输入N,然后再一次的回车动作..就结束了..
这个应该怎么实现..望高手赐教......
动作就是1,输入网址 2, 点击回车(确认)3,再一次的点击回车(确认)4,输入y或者n 5,再一次的点击回车(确认)
用BAT怎么实现.

新手学习过程是会碰到很多问题,建议好好去学习一下批处理的三个重要函数。
  1. Set
  2. If
  3. For
复制代码
楼主碰到的问题是需要用 Set /P 来解决的可以尝试一下这个命令
  1. @Echo Off
  2. Set /P Srturl=请输入一个网址
  3. Echo 刚才输入的网址是:%Srturl%
复制代码
这个完全可以i解答你的问题了。
等你明白了什么是IF的时候就可以加上判断了
例如:
  1. @Echo Off
  2. Echo 测试题
  3. Echo 你是不是中国人
  4. Echo (Y)是                (N)不是
  5. :Start
  6. Set /P Choice=请选择:
  7. If /i "%Choice%" == "Y" Echo 不错,好孩子
  8. If /i "%Choice%" == "N" (
  9.     Echo 不错,好孩子
  10.   )Else (
  11.                Cls
  12.                Echo 哎。。。你没有输入正确哦
  13.                Echo.
  14.                Echo 按任意键重新选择
  15.                Goto Start
  16. )
复制代码
看懂第二个代码,对你的批处理之路还是有点帮助的。哈哈

TOP

!!!不是很明白,如果是自动输入的话,还用处理回车的问题么? 在运行期间不会挂起吧!
老大已经说了,可以通过设置变量的方式来解决,至于如何改变变量,用最直接的FOR 吧
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

回复 6# Sgr


        我的话通常会引起误会,没办法。不过我再就你说的进行辩驳。

首先我很少接触BAT,所以现在才开始看,其次我觉得知识这个东西没有什么笑掉大牙之类的说法,你在这个领域强不代表在别的领域强..一直没用过所以接触少..没什么可让人笑的.不要把别人的不知当做一种可笑..

——首先,知识是没有笑掉大牙的说法。在处理问题时,没说明什么原因,而一味的确认,唯唯诺诺,这个与批处理无关,而与思想有关。我并不知道你无知,也不是笑知识,只是笑你的这个问题的构思过程显得有些啰嗦,这个问题刚开始引起了我的困惑,不知道你到底想做什么,之后没见你说明,觉得好可笑,如果对此问题连笑的不给,那只有剩下抱怨了。抱怨什么呢?抱怨你用了那么多的文字来表达,仍然表达不清楚你的问题。再次说明,我不是笑你的无知,我没有想到你很少接触批处理,你也没像惯例那样,在问题中注明自己了解不深,引起误会,深表歉意。


不过谢谢你的回复,但是我要说的是,我不是要让手动输入,我是希望批处理中已经进行了这样的动作,就是自己自动输入网址,并且自动回车..而不是手动的去输入,如果手动的去输入的话,我想我也没必要再写一个BAT,因为原来的就已经有了..

——我想,这不是我的错。“自动回车”这四个字,你回头看看你的问题,你有如此表达吗?我倒是看见了“让你输入”、“点击完成后会要求你再次点击回车”这些不是自动回车的内容。
对此,我认为你的表达方式存在问题:
1、没有抓住问题的核心,未能进行准确的表达,表达不够明朗,说了一大堆,反复了两三次,仍然无法将问题描述清楚。
2、虽然表达有点顺序,但仍然缺乏足够的条理和逻辑。
出现以上问题,可能是没有对问题进行较全面和细致的思考,考虑不成熟而急于表达。
如果我把握你的问题不错的话,你想表达的核心就是:如何让批处理自动输入(网址)和自动执行(回车)?
假如说错的话,就是你的表达让我无法理解。
还是以前讨论的结果,假如你不是很熟悉批处理,请你在提出问题的同时说明,这样你会得到细致的回答。
最后,我也啰嗦一下,不是笑你无知,而是你糟糕的表达让人困惑。如果你想得到满意的回答,请你在一楼重新组织你的语言,描述你的问题,表达你的意图,而且尽量控制在很简短、很明确的文字里面。祝你在批处理之家获得知识!
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

回复 6# Sgr


能否说下为何要让批处理自动输入网址并回车吗?为什么不直接把网址赋值给一个变量从而省去输入的步骤呢
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

不过谢谢你的回复,但是我要说的是,我不是要让手动输入,我是希望批处理中已经进行了这样的动作,就是自己自动输入网址,并且自动回车..而不是手动的去输入,如果手动的去输入的话,我想我也没必要再写一个BAT,因为原来的就已经有了..

TOP

首先我很少接触BAT,所以现在才开始看,其次我觉得知识这个东西没有什么笑掉大牙之类的说法,你在这个领域强不代表在别的领域强..一直没用过所以接触少..没什么可让人笑的.不要把别人的不知当做一种可笑..

TOP

动作就是1,输入网址 2, 点击回车(确认)3,再一次的点击回车(确认)4,输入y或者n 5,再一次的点击回车(确认)
  1. @echo off
  2. set /p dd=输入批处理之家的网址:
  3. if  /i  "%dd%"=="http://www.bathome.net"  echo 输入成功
  4. pause
  5. set /p cc=
  6. if /i "%cc%"=="" echo 回车确认
  7. ::确认两次还真啰嗦。
  8. set /p cc=【Y/N】
  9. if /i "%cc%"=="N" echo 输入N回车确认
  10. pause
  11. ::啰嗦得很
复制代码


第一、能一次说清楚的请不要说两遍,能用文字说清楚的请不要上传图片。你发得再多,没有表达清楚,也没有人会看你的帖。
第二、发帖请注明你的意图、目的,这个代码用来做什么,你想实现什么功能等。否则你一味的确认,让人笑掉大牙。
第三、如此简单的SET和IF命令都不会,不懂你想什么。请到教学区学习了自己解决。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

执行完我指定调用的BAT之后就会出现上面图中所示,首先要求你输入ip然后要点击回车进行确认,
之后会再次出现要求你点击回车,然后会出现让你输入Y/N,我输入的是N,然后整个动作就结束了..
这个BAT可以实现吗..怎么做到..

TOP

返回列表