标题: [文件操作] 这类判断用户输入的批处理应该怎样写? [打印本页]
作者: jihan1975 时间: 2014-10-9 22:31 标题: 这类判断用户输入的批处理应该怎样写?
我知道我写的一定不对,我就是想调用同目录下的三个文件夹里面的批处理
在安装的时候可以选择安装 也就是按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
作者: Batcher 时间: 2014-10-9 22:37
- 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
- )
复制代码
作者: jihan1975 时间: 2014-10-9 22:44
回复 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
)
作者: Batcher 时间: 2014-10-10 08:28
回复 3# jihan1975
call 命令后面全部改成完整路径试试,比如:- call "C:\声卡驱动X86\点我安装.bat"
复制代码
作者: jihan1975 时间: 2014-10-10 09:43
回复 4# Batcher
最主要的是不想它有个绝对路径 想直接调用那几个批处理 是不是要写个环境变量在里面的呢?
作者: Batcher 时间: 2014-10-10 10:23
回复 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
)
作者: 牛虻 时间: 2014-10-10 11:24
我感觉用 Choice 会好一点儿
作者: Batcher 时间: 2014-10-10 12:32
- @echo off
- 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
- )
复制代码
作者: jihan1975 时间: 2014-10-10 12:51
回复 8# Batcher
多谢多谢 这个终于可以用了 感谢!!!
作者: jihan1975 时间: 2014-10-10 12:57
回复 8# Batcher
这短批处理要怎么才能让他循环运行 就是安装完第一个后不自动退出命令行 继续转回主目录后再次选择2或者3呢
作者: Batcher 时间: 2014-10-10 13:01
回复 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
作者: jihan1975 时间: 2014-10-10 13:12
回复 11# Batcher
OK了 麻烦你了哈,真是感谢啊
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |