我正在制作一个批处理应用程序来打开其他应用程序和网站,我在制作时遇到了问题,除非它与批处理文件位于同一个文件夹中,否则应用程序不会打开,但是在以后检查时它似乎是与其中一个程序不兼容。
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
答案 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中更改目录即可运行程序。它是这样设计的。