Board logo

标题: [文件操作] 跟据用户输入执行相应命令的批处理中暂停命令应加在何处 [打印本页]

作者: hhx012    时间: 2009-7-23 11:40     标题: 跟据用户输入执行相应命令的批处理中暂停命令应加在何处

大虾们。麻烦帮看一下下面这段代码。

@echo off
color 0a
echo.
echo 1.禁止
echo.
echo 2.允许
echo.
echo 请输入1,2
echo.
set /p select=请输入:
set /a select=%select%-0
if %select%==1 goto jinshi
if %select%==2 goto yunxu
:jinzhi
ren C:\2.exe 1.exe
taskkill /im 2.exe /f
:yunxu
ren C:\1.exe 2.exe

我想在输入1之后停一下。应该在哪里写pause呢
作者: hhx012    时间: 2009-7-23 11:50

晕。粗心惹的祸。
if %select%==1 goto jinshi 应该改为 if %select%==1 goto jinzhi
可是改了之后运行还是不效果。
:jinzhi
ren C:\2.exe 1.exe
taskkill /im 2.exe /f
后来把这几行换了个位置。
:jinzhi
taskkill /im 2.exe /f
ren C:\2.exe 1.exe
保存。运行。
还是没得效果。
感觉应该是延时的问题。
请问
taskkill /im 2.exe /f
ren C:\2.exe 1.exe
这两行中间加个延时5秒。应该怎么加呢
作者: yslyxqysl    时间: 2009-7-23 11:59

  1. :jinzhi
  2. taskkill /im 2.exe /f
  3. ren C:\2.exe 1.exe
  4. exit
复制代码

作者: hhx012    时间: 2009-7-23 12:13

郁闷得很。
我只抽其中3楼说的那段代码就可以。而且没加延时。
把那段代码放回去就不得了。。什么原因呢

@echo off
color 0a
echo.
echo 1.禁止
echo.
echo 2.允许
echo.
echo 请输入1,2
echo.
set /p select=请输入:
set /a select=%select%-0
if %select%==1 goto jinshi
if %select%==2 goto yunxu
:jinzhi
ren C:\WINDOWS\system32\2.exe 1.exe
taskkill /im 2.exe /f
:yunxu
ren C:\WINDOWS\system32\1.exe 2.exe
作者: hhx012    时间: 2009-7-23 12:27

@echo off
color 0a
echo.
echo 1.禁止
echo.
echo 2.允许
echo.
echo 请输入1,2
echo.
set /p select=请输入:
set /a select=%select%-0
if %select%==1 goto jinzhi
if %select%==2 goto yunxu
:yunxu
ren C:\WINDOWS\system32\1.exe 2.exe
exit
:jinzhi
taskkill /im rmserver.exe /f
ren C:\WINDOWS\system32\2.exe 1.exe
exit

呵呵。改成这样效果出来了。谢谢3楼的朋友
作者: yslyxqysl    时间: 2009-7-23 12:52

  1. @echo off
  2. echo 1
  3. pause>nul
  4. :label
  5. echo 2
  6. pause>nul
复制代码
  1. @echo off
  2. echo 1
  3. pause>nul
  4. exit
  5. :label
  6. echo 2
  7. pause>nul
复制代码

对比一下吧。

主动给已获解决的求助帖标题加注[已解决]字样的,将会得到管理层的加分奖励。

[ 本帖最后由 yslyxqysl 于 2009-7-23 12:56 编辑 ]




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2