这些都是新事物*
我尝试从一个批处理文件运行三个应用程序,两个在 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