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

[文件操作] 这类判断用户输入的批处理应该怎样写?

我知道我写的一定不对,我就是想调用同目录下的三个文件夹里面的批处理
在安装的时候可以选择安装 也就是按1的时候就运行32位的,按2的时候就运行64的 按3的时候就运行ASIO的
以下就是我写的 但是再往下就不会写了 在主批处理同一文件夹下 有三个文件夹
分别是 64位驱动 32位驱动   ASIO驱动  这三个文件夹里分别有三个CMD文件

@echo off
Color 0a
cd /d %~dp0
goto :menu
:menu
echo.
echo *********************************************************
echo ***** 以下是自选安装声卡驱动x86及x64和虚拟ASIO驱动  *****
echo *********************************************************
echo.
echo  [切换输入法使用Ctrl+空格键] [退出请关闭本窗口]
echo.
echo  1  安装 声卡驱动 32位(x86)
echo  2  安装 声卡驱动 64位(x64)
echo  3  安装 虚拟 ASIO 驱动
echo.
set /p ch= ..请选择要安装的驱动(输入数字)       到了这里我就不知道该怎么写才对了
if "%ch%"=="1" set pat=call  \\声卡驱动X86\点我安装.bat
if "%ch%"=="2" set pat=call  \\声卡驱动X64\点我安装.bat
if "%ch%"=="3" set pat=call  \\ASIO驱动\ASIO.bat

  1. set "ch="
  2. set /p "ch= ..请选择要安装的驱动(输入数字):"
  3. if "%ch%"=="1" (
  4.     call 声卡驱动X86\点我安装.bat
  5. ) else if "%ch%"=="2" (
  6.     call 声卡驱动X64\点我安装.bat
  7. ) else if "%ch%"=="3" (
  8.     call ASIO驱动\ASIO.bat
  9. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# Batcher


    按照你的方法改动了一下 但是还是没有执行 这是我的代码

@echo off
Color 0a
cd /d %~dp0
goto :menu
:menu
echo.
echo *********************************************************
echo ***** 以下是自选安装声卡驱动x86及x64和虚拟ASIO驱动  *****
echo *********************************************************
echo.
echo  [切换输入法使用Ctrl+空格键] [退出请关闭本窗口]
echo.
echo  1  安装 声卡驱动 64位(x64)
echo  2  安装 声卡驱动 86位(x86)
echo  3  安装 虚拟 ASIO 驱动
echo.
set "ch="
set /p "ch= ..请选择要安装的驱动(输入数字):"
if "%ch%"=="1" (
    call 声卡驱动X86\点我安装.bat
) else if "%ch%"=="2" (
    call 声卡驱动X64\点我安装.bat
) else if "%ch%"=="3" (
    call ASIO驱动\ASIO.bat
)

TOP

回复 3# jihan1975


call 命令后面全部改成完整路径试试,比如:
  1. call "C:\声卡驱动X86\点我安装.bat"
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 4# Batcher

最主要的是不想它有个绝对路径 想直接调用那几个批处理 是不是要写个环境变量在里面的呢?

TOP

回复 5# jihan1975


pushd "%~dp0"
if "%ch%"=="1" (
    call 声卡驱动X86\点我安装.bat
) else if "%ch%"=="2" (
    call 声卡驱动X64\点我安装.bat
) else if "%ch%"=="3" (
    call ASIO驱动\ASIO.bat
)
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

我感觉用  Choice 会好一点儿
菩提本无树,明镜亦非台。
本是无一物,何处惹尘埃。

TOP

  1. @echo off
  2. set "ch="
  3. set /p "ch= ..请选择要安装的驱动(输入数字):"
  4. if "%ch%"=="1" (
  5.     pushd "%~dp0声卡驱动X86"
  6.     call 点我安装.bat
  7. ) else if "%ch%"=="2" (
  8.     pushd "%~dp0声卡驱动X64"
  9.     call 点我安装.bat
  10. ) else if "%ch%"=="3" (
  11.     pushd "%~dp0ASIO驱动"
  12.     call ASIO.bat
  13. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 8# Batcher


    多谢多谢 这个终于可以用了 感谢!!!

TOP

回复 8# Batcher


    这短批处理要怎么才能让他循环运行 就是安装完第一个后不自动退出命令行 继续转回主目录后再次选择2或者3呢

TOP

回复 10# jihan1975


@echo off
:loop
set "ch="
set /p "ch= ..请选择要安装的驱动(输入数字):"
if "%ch%"=="1" (
    pushd "%~dp0声卡驱动X86"
    call 点我安装.bat
) else if "%ch%"=="2" (
    pushd "%~dp0声卡驱动X64"
    call 点我安装.bat
) else if "%ch%"=="3" (
    pushd "%~dp0ASIO驱动"
    call ASIO.bat
)
goto :loop
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 11# Batcher


    OK了  麻烦你了哈,真是感谢啊

TOP

返回列表