批处理文件找不到 C 以外的驱动器的路径

批处理文件找不到 C 以外的驱动器的路径

这些都是新事物*

我尝试从一个批处理文件运行三个应用程序,两个在 E: 盘,一个在 F: 盘。我收到“Windows 无法找到文件”错误。

我已允许完全控制所有驱动器,路径是正确的,因为我直接复制并粘贴它们。

我在 C: 驱动器上的应用程序上测试了这一点并且它们运行正常(Firefox 和 Discord)

@echo off
cd "E:\PC Stuff\Taco Mod\"
start GW2TacO.exe
cd "E:\PC Stuff\Blish HUD\"
start Blish HUD.exe
cd "F:\Games HDD\Guild Wars 2\"
start Gw2-64.exe
exit

答案1

当前驱动器和当前目录是分开的,每个驱动器可以有不同的当前目录。

CD 更改当前目录,如果您在命令中指定驱动器,它会为该驱动器设置目录,但不会更改当前驱动器。

只需将驱动器号指定为命令即可更改当前驱动器:E:

您的批处理文件将驱动器 E: 的当前目录设置为“\PC Stuff\Taco Mod”,但未将 E: 设置为当前驱动器。您需要设置驱动器和目录。

此外,由于第二个命令的名称中有空格,因此需要用引号引起来(感​​谢评论中的@DavidPostill)。但是,如果启动命令的第一个参数有引号,则它将被视为窗口标题。因此您需要这样做:

@echo off
rem Set current drive to E:
E:
cd "E:\PC Stuff\Taco Mod\"
start GW2TacO.exe
cd "E:\PC Stuff\Blish HUD\"
start "" "Blish HUD.exe"
rem Set current drive to F:
F:
cd "F:\Games HDD\Guild Wars 2\"
start Gw2-64.exe
exit

答案2

你可以试试start /d "D:\Path" "title" "program.exe"

@echo off

start /d "E:\PC Stuff\Taco Mod\" "GW2TacO" "GW2TacO.exe"
start /d "E:\PC Stuff\Blish HUD\" "Blish HUD" "Blish HUD.exe"
start /d "F:\Games HDD\Guild Wars 2\" "Gw2-64" "Gw2-64.exe"
exit

相关内容