查看: 39961|回复: 8
[文本处理]
批处理如何实现输入的动作?
[复制链接]
Sgr
Sgr
当前离线
积分53
电梯直达
1楼
发表于 2011-9-8 15:24:05
|
只看该作者
|倒序浏览
|阅读模式
@echo off
set supportFile=C:\Program Files\VM\VMCC\Client\DCT\support.bat
if exist "%supportFile%" (goto a) else (goto b)
:a
call "%supportFile%"
exit
:b
echo "this file does not exist.."
goto end
:end
echo.
echo\
pause
复制代码比如我上面这段代码会执行一个support.bat, 然后这个BAT执行过程中会出现DOS窗口,让你输入一个网址比如www.google.com,然后点击回车..点击完成后会要求你再次点击回车,
,之后又会出现让你输入Y或者N,当然我要输入N,然后又一个回车的动作.. //一系列动作结束..
======================================
也就是说在我上面这个脚本运行后,会出现一个DOS窗口,让你在里面输入一个网址,输入完成后要进行一个回车的动作,
之后会再次要求你进行一个回车的动作..
第二个回车的动作完成后,会出现让你输入Y或者N,然后比如输入N,然后再一次的回车动作..就结束了..
这个应该怎么实现..望高手赐教......
动作就是1,输入网址 2, 点击回车(确认)3,再一次的点击回车(确认)4,输入y或者n 5,再一次的点击回车(确认)
用BAT怎么实现.
回复
举报
Sgr
Sgr
当前离线
积分53
2楼
楼主|
发表于 2011-9-8 15:36:13
|
只看该作者
执行完我指定调用的BAT之后就会出现上面图中所示,首先要求你输入ip然后要点击回车进行确认,
之后会再次出现要求你点击回车,然后会出现让你输入Y/N,我输入的是N,然后整个动作就结束了..
这个BAT可以实现吗..怎么做到..
回复
举报
cjiabing
cjiabing
当前离线
积分4476
3楼
发表于 2011-9-8 16:42:24
|
只看该作者
动作就是1,输入网址 2, 点击回车(确认)3,再一次的点击回车(确认)4,输入y或者n 5,再一次的点击回车(确认)
@echo off
set /p dd=输入批处理之家的网址:
if /i "%dd%"=="http://www.bathome.net" echo 输入成功
pause
set /p cc=
if /i "%cc%"=="" echo 回车确认
::确认两次还真啰嗦。
set /p cc=【Y/N】
if /i "%cc%"=="N" echo 输入N回车确认
pause
::啰嗦得很
复制代码
第一、能一次说清楚的请不要说两遍,能用文字说清楚的请不要上传图片。你发得再多,没有表达清楚,也没有人会看你的帖。
第二、发帖请注明你的意图、目的,这个代码用来做什么,你想实现什么功能等。否则你一味的确认,让人笑掉大牙。
第三、如此简单的SET和IF命令都不会,不懂你想什么。请到教学区学习了自己解决。
回复
举报
Sgr
Sgr
当前离线
积分53
4楼
楼主|
发表于 2011-9-8 17:02:44
|
只看该作者
首先我很少接触BAT,所以现在才开始看,其次我觉得知识这个东西没有什么笑掉大牙之类的说法,你在这个领域强不代表在别的领域强..一直没用过所以接触少..没什么可让人笑的.不要把别人的不知当做一种可笑..
回复
举报
Sgr
Sgr
当前离线
积分53
5楼
楼主|
发表于 2011-9-8 17:14:25
|
只看该作者
不过谢谢你的回复,但是我要说的是,我不是要让手动输入,我是希望批处理中已经进行了这样的动作,就是自己自动输入网址,并且自动回车..而不是手动的去输入,如果手动的去输入的话,我想我也没必要再写一个BAT,因为原来的就已经有了..
回复
举报
Batcher
Batcher
当前离线
积分46264
6楼
发表于 2011-9-8 18:09:38
|
只看该作者
回复 6# Sgr
能否说下为何要让批处理自动输入网址并回车吗?为什么不直接把网址赋值给一个变量从而省去输入的步骤呢
回复
举报
cjiabing
cjiabing
当前离线
积分4476
7楼
发表于 2011-9-8 18:34:12
|
只看该作者
回复 6# Sgr
我的话通常会引起误会,没办法。不过我再就你说的进行辩驳。
首先我很少接触BAT,所以现在才开始看,其次我觉得知识这个东西没有什么笑掉大牙之类的说法,你在这个领域强不代表在别的领域强..一直没用过所以接触少..没什么可让人笑的.不要把别人的不知当做一种可笑..
——首先,知识是没有笑掉大牙的说法。在处理问题时,没说明什么原因,而一味的确认,唯唯诺诺,这个与批处理无关,而与思想有关。我并不知道你无知,也不是笑知识,只是笑你的这个问题的构思过程显得有些啰嗦,这个问题刚开始引起了我的困惑,不知道你到底想做什么,之后没见你说明,觉得好可笑,如果对此问题连笑的不给,那只有剩下抱怨了。抱怨什么呢?抱怨你用了那么多的文字来表达,仍然表达不清楚你的问题。再次说明,我不是笑你的无知,我没有想到你很少接触批处理,你也没像惯例那样,在问题中注明自己了解不深,引起误会,深表歉意。
不过谢谢你的回复,但是我要说的是,我不是要让手动输入,我是希望批处理中已经进行了这样的动作,就是自己自动输入网址,并且自动回车..而不是手动的去输入,如果手动的去输入的话,我想我也没必要再写一个BAT,因为原来的就已经有了..
——我想,这不是我的错。“自动回车”这四个字,你回头看看你的问题,你有如此表达吗?我倒是看见了“让你输入”、“点击完成后会要求你再次点击回车”这些不是自动回车的内容。
对此,我认为你的表达方式存在问题:
1、没有抓住问题的核心,未能进行准确的表达,表达不够明朗,说了一大堆,反复了两三次,仍然无法将问题描述清楚。
2、虽然表达有点顺序,但仍然缺乏足够的条理和逻辑。
出现以上问题,可能是没有对问题进行较全面和细致的思考,考虑不成熟而急于表达。
如果我把握你的问题不错的话,你想表达的核心就是:如何让批处理自动输入(网址)和自动执行(回车)?
假如说错的话,就是你的表达让我无法理解。
还是以前讨论的结果,假如你不是很熟悉批处理,请你在提出问题的同时说明,这样你会得到细致的回答。
最后,我也啰嗦一下,不是笑你无知,而是你糟糕的表达让人困惑。如果你想得到满意的回答,请你在一楼重新组织你的语言,描述你的问题,表达你的意图,而且尽量控制在很简短、很明确的文字里面。祝你在批处理之家获得知识!
回复
举报
wc726842270
wc726842270
当前离线
积分4218
8楼
发表于 2011-9-8 19:39:23
|
只看该作者
!!!不是很明白,如果是自动输入的话,还用处理回车的问题么? 在运行期间不会挂起吧!
老大已经说了,可以通过设置变量的方式来解决,至于如何改变变量,用最直接的FOR 吧
回复
举报
冷玉公子
冷玉公子
当前离线
积分248
9楼
发表于 2011-9-9 10:41:27
|
只看该作者
新手学习过程是会碰到很多问题,建议好好去学习一下批处理的三个重要函数。
Set
If
For
复制代码楼主碰到的问题是需要用 Set /P 来解决的可以尝试一下这个命令
@Echo Off
Set /P Srturl=请输入一个网址
Echo 刚才输入的网址是:%Srturl%
复制代码这个完全可以i解答你的问题了。
等你明白了什么是IF的时候就可以加上判断了
例如:
@Echo Off
Echo 测试题
Echo 你是不是中国人
Echo (Y)是 (N)不是
:Start
Set /P Choice=请选择:
If /i "%Choice%" == "Y" Echo 不错,好孩子
If /i "%Choice%" == "N" (
Echo 不错,好孩子
)Else (
Cls
Echo 哎。。。你没有输入正确哦
Echo.
Echo 按任意键重新选择
Goto Start
)
复制代码看懂第二个代码,对你的批处理之路还是有点帮助的。哈哈
回复
举报