批处理脚本-启动 EXE 失败

批处理脚本-启动 EXE 失败

作为一个个人项目,我正在尝试用批处理脚本制作一个非常简单的启动器(它和游戏文件夹位于的根目录中E:\询问你想玩什么游戏,选择后,游戏通过以下方式启动:

:: my/game/path.exe
   Start "" E:/DNL/LR2/LR2.exe
  • 这对我的大多数游戏都有效,但对某些游戏来说,它根本不起作用;我可以看到它执行了(我的游戏很旧并且分辨率发生了变化),但它很快就死机了;如果我手动启动游戏,它们可以正常工作。
  • 我没有收到任何错误,并且认为问题可能是游戏的路径,尝试了相对和绝对路径都没有成功;我认为问题是脚本位于游戏文件夹之外,因为将其放在游戏文件夹内并执行命令可以start正常工作。

我不知道如何让它在文件夹外部工作,并考虑使用将其移动到文件夹内cd;这是导航到游戏文件夹的正确方法吗?

答案1

如果批处理文件在文件夹内正常工作,那么您应该cd进入它,正如您所提到的。

您应该使用cd /D进入cd另一个分区,因为/D交换机会负责实际切换驱动器;如果您只使用cd,则必须手动更改分区:

C:\> cd M:
M:\

# Notice how I'm still actually on C:
C:\> M:
M:\>

答案2

此外,@hextech 的有用答案pushd可用于推送目录(虽然cd /d这是一个很好的解决方案,但它还不支持 UNC 路径),但pushd适用于 UNC 路径和不同的分区;您可以使用它popd切换回过去的目录。

此外,您使用的路径是 Linux 格式,正确的 Windows 路径是:E:\DNL\LR2\LR2.exe

相关内容