我已经创建了一个脚本,可以让用户选择从同一个程序运行的操作。问题是,创建我正在调用的程序的人设置了没有像/或 - 这样的开关的参数。每当我运行批处理并尝试调用正确的操作时,只有可执行文件在没有参数的情况下运行,并且我尝试了多种引用和取消引用的方法。这是批处理,因为它有一些NDA目录和应用程序名称取出,所以我不会失去我的工作。
@echo off
cls
:start
echo.
echo 1. EXPORT
echo 2. EXPORT AP
echo 3. EXPORT CLASS ALL
echo 4. EXPORT CLASS STORE
echo 5. EXPORT PLUBATCH ALL
echo 6. EXPORT PLUBATCH STORE
echo 7. EXPORT STORE
echo 8. EXPORT TOUCH
echo 9. I'm Done
echo.
echo.
set /p x=Choose your fate:
IF '%x%' == '%x%' GOTO Item_%x%
:Item_1
start "APP" /MIN /D"C:\Program Files\xxx\APP\W2" xxx.exe EXPORT
:Item_2
start "APP" /MIN /D"C:\Program Files\xxx\APP\W2" xxx.exe EXPORT AP
:Item_3
start "APP" /MIN /D"C:\Program Files\xxx\APP\W2" xxx.exe EXPORT CLASS ALL
:Item_4
start "APP" /MIN /D"C:\Program Files\xxx\APP\W2" xxx.exe EXPORT CLASS STORE
:Item_5
start "APP" /MIN /D"C:\Program Files\xxx\APP\W2" xxx.exe EXPORT PLUBATCH ALL
:Item_6
start "APP" /MIN /D"C:\Program Files\xxx\APP\W2" xxx.exe EXPORT PLUBATCH STORE
:Item_7
start "APP" /MIN /D"C:\Program Files\xxx\APP\W2" xxx.exe EXPORT STORE
:Item_8
start "APP" /MIN /D"C:\Program Files\xxx\APP\W2" xxx.exe EXPORT TOUCH
:Item_9
pause
exit
每当我运行时,比如选择2,它只会执行应用程序的通用操作,就好像我根本没有运行参数一样。导出显然是一个命令,第二个参数列出了您希望导出的程序。有什么建议吗?
答案 0 :(得分:0)
IF '%x%' == '%x%' GOTO Item_%x%
应该是:
IF '%x%' == '%x%' GOTO :Item_%x%
让我们尝试一个更简单的例子:
@echo off
cls
:start
echo.
echo 1. Do something.
echo 2. Do something else.
echo 3. Quit
echo.
set /p x=Choose your fate:
goto :Item_%x
goto :eof
:Item_1
echo Doing something.
goto :start
:Item_2
echo Doing something else.
goto :start
:Item_3
echo Quitting.
goto :eof