当我在networking驱动器上运行batch file时,出现“UNCpath不受支持”错误。
我想将batch file的当前目录存储在一个variables中,以便在当前目录更改为“C:\ Windows”之前,通过pushd
命令切换到该文件。
对不起,我错过了什么!
编辑:
这里是代码:
@echo off SETLOCAL EnableExtensions title School Minecraft Hunger Games Launcher set appdata=%cd%\core set usrname=%USERNAME% :lol cls set choice= echo ------------------------------------------------------------------------------- echo School Minecraft Launcher v4.2 echo Minecraft Version: 1.5.2 echo ------------------------------------------------------------------------------- echo Logging in with the name "%usrname%". Is this correct? (y/n) set /p choice= if "%choice%"=="y" goto check if "%choice%"=="yes" goto check if "%choice%"=="n" goto argue if "%choice%"=="no" goto argue echo. echo That is not a recognized command, Press enter to try again. pause > nul goto lol :argue cls set provide2= echo To change your ingame username, please provide the override password: echo. echo Type "back" to cancel. echo. set /p provide2=Password: if "%provide2%"=="changename" goto enternewname if "%provide2%"=="back" goto lol echo. echo Incorrect Password. echo. echo Press enter to try again... pause > nul goto argue :enternewname cls echo Please enter new name, then press enter: set /p usrname= goto lol :check cls if "%usrname%"=="user1" set knee=watermelon if "%usrname%"=="user2" set knee=computer if "%usrname%"=="user3" set knee=fish if "%usrname%"=="user4" set knee=kittens :final if "%knee%"=="" goto rungame cls set provide= echo ------------------------------------------------------------------------------- echo School Minecraft Launcher v4a echo Minecraft Version: 1.5.2 echo ------------------------------------------------------------------------------- echo You are trying to login as an admin. Please provide your password. echo. echo Username: %usrname% set /p provide=Password: if "%knee%"=="%provide%" goto rungame echo. echo Incorrect password. echo. echo Press enter to exit... pause > nul exit :rungame pushd "%appdata%\.minecraft\bin" start javaw -cp minecraft.jar;lwjgl.jar;lwjgl_util.jar -Djava.library.path="natives" net.minecraft.client.Minecraft "%usrname%" exit
它应该运行在任何地方,只要你有一个名为“核心”的文件夹包含游戏文件。 通常情况下会是: %cd%\core
。 如果你看下代码的底部,你会发现它需要将目录改为: %cd%\core\.minecraft\bin
来启动游戏……但是没有当前的目录variables,我不能这么做。
设置批处理文件的目录通常是通过
set "dirofbatch=%~dp0"
(这将包括终端\
)
APPDATA
是由系统为每个BATCH会话建立的窗口保留名称之一。 它的价值可能是某个过程所假定的,而你已经设定到某个意想不到的地方。 我建议你改变这个变量名到别的东西。
同样, choice
是一个批处理关键字 – 我建议你再做一个名字的选择。 这可能不会影响批处理,只是避免陷阱的问题。
将此行添加为程序中的前几行之一(在访问任何文件/文件夹之前)。
pushd %~dp0