批处理应用程序选择器无法在同一文件夹中打开程序

时间:2014-10-10 14:10:08

标签: batch-file

我正在制作一个批处理应用程序来打开其他应用程序和网站,我在制作时遇到了问题,除非它与批处理文件位于同一个文件夹中,否则应用程序不会打开,但是在以后检查时它似乎是与其中一个程序不兼容。

CD "%userprofile%\Desktop\MultiBatch\Place applications here"
start Glyph.exe

此代码只有在同一文件夹中才有效。

if %selector% == 7 start GlyphClient.exe

如何从外部文件夹启动它?

这是完整的代码。

@echo off
@title Multi Tool
color 0c
:title
echo ---------------------------------------------------------------
echo -------------------MultiTool by michaelukz---------------------
echo ---------------------------------------------------------------
pause
:select1
echo ---------------------------------------------------------------
echo ------------------------Selection tool-------------------------
echo ---------------------------------------------------------------
echo [1] Website selection
echo [2] Application selection
echo [3] Calculator
echo [4] Clock [Updates every minute]
echo [E] Exit
CHOICE /C:1234E
goto action%errorlevel%
:action1
echo Website selection chosen
goto websel
:websel
echo ---------------------------------------------------------------
echo ----------------------Choose your Website----------------------
echo ---------------------------------------------------------------
echo [1] Google.com
echo [2] Minecraft.net
echo [3] Kryptocraft.net
echo [4] Amazon.co.uk
echo [5] Virmach.com Client area
echo [6] xpaw.ru
echo [7] twitter.com
echo [8] Youtube
echo [9] Exit prompt
CHOICE /C:123456789
goto web%errorlevel%
cls
:web1
echo Starting Google.com
start www.google.com
goto title
:web2
echo Starting Minecraft.net
start www.minecraft.net
goto title
:web3
echo Starting kryptocraft.net
start www.kryptocraft.net
goto title
:web4
echo Starting Amazon.co.uk
start www.amazon.co.uk
goto title
:web5
echo Starting Virmach Client panel
start www.virmach.com/manage/clientarea.php
goto title
:web6
echo Starting xpaw.ru
start www.xpaw.ru/mcstatus
goto title
:web7
echo Starting Twitter.com
start www.twitter.com
goto title
:web8
echo Starting Youtube.com
start www.youtube.com
goto title
:web9
echo Going to Exit prompt
goto extprompt
:action2
echo Application selection chosen
goto appsel
:appsel
echo ---------------------------------------------------------------
echo --------------------Choose your application--------------------
echo ---------------------------------------------------------------
echo [1] Glyph
echo [2] Photoshop
echo [3] Nero video 2015
echo [4] Mozilla firefox
echo [5] Task manager
echo [6] Notepad++
echo [7] Minecraft
echo [8] FTB Launcher
echo [9] ATLauncher
echo [Q] Exit Prompt
CHOICE /C:123456789Q
goto app%errorlevel%
cls
:app1
echo Launching Glyph
PUSHD "%userprofile%\Desktop\MultiBatch\Place applications here"
START GlyphClient.exe
POPD
goto title

3 个答案:

答案 0 :(得分:1)

您可以将cd命令更改为cd /d ...,因为第一种形式的当前驱动器未更改,如果程序和批处理文件位于不同的驱动器中,则无法找到该程序。

或者,如果您知道应用程序的完整路径,则可以使用

start "" "x:\some\where\something.exe"

答案 1 :(得分:0)

你的问题不清楚是什么不起作用(或者你可能没有提供足够的代码)。

但是,下面的代码可能会解决您的问题:

PUSHD "%userprofile%\Desktop\MultiBatch\Place applications here"
START Glyph.exe
POPD

答案 2 :(得分:0)

启动程序更常用的方法是指定完整路径。事实上,这是唯一的安全方式。

所以要开始记事本(只需要启动因为它在bat文件中 - 如果输入则省略开始 - 为什么?键入start /?

start c:\windows\system32\notepad.exe 

或者如果使用带空格的路径(如果在命令行中使用引号,则必须指定窗口标题)

start "My Window Title" "C:\Program Files\Movie Maker\DVDMaker.exe"

无需在Windows中更改目录即可运行程序。它是这样设计的。