简单Bat文件,Windows无法找到';文件名';
所以我试图创建一个非常简单的bat文件来运行2个程序。更具体地说,炉石和甲板跟踪器 这是我的球棒:简单Bat文件,Windows无法找到';文件名';,windows,batch-file,Windows,Batch File,所以我试图创建一个非常简单的bat文件来运行2个程序。更具体地说,炉石和甲板跟踪器 这是我的球棒: @echo off cd "D:\Games\Hearthstone.Deck.Tracker-v0.12.3\Hearthstone Deck Tracker" start HearthstoneDeckTracker.exe cd "D:\Program Files (x86)\Hearthstone" start Hearthstone Beta Launcher.exe exit
@echo off
cd "D:\Games\Hearthstone.Deck.Tracker-v0.12.3\Hearthstone Deck Tracker"
start HearthstoneDeckTracker.exe
cd "D:\Program Files (x86)\Hearthstone"
start Hearthstone Beta Launcher.exe
exit
虽然炉石启动时没有问题,但由于某些原因,它找不到甲板跟踪器exe。
我直接复制粘贴了路径,它是正确的,并且文件存在
还请注意,我在Python3.5中编写了一个简单的代码,两个程序都可以毫无问题地打开
所以。。。发生了什么事?试试这个:
cd /d "D:\Games\Hearthstone.Deck.Tracker-v0.12.3\Hearthstone Deck Tracker"
start HearthstoneDeckTracker.exe
cd /d "D:\Program Files (x86)\Hearthstone"
start "Hearthstone Beta Launcher" "Hearthstone Beta Launcher.exe"
/d
选项允许cd
更改驱动器和目录。引号(和额外的参数)是允许start
运行名称中带有空格的程序所必需的。我认为您需要双引号:start“Hearthstone Beta Launcher.exe”
,因为可执行文件名中有空格。@AKS:yep,但您还需要一个额外的参数,我完全同意:)如果“D:”不是当前驱动器,没有/D的cd
只设置隐藏的环境变量=D:
。此环境变量用于完成相对路径。因此,无需使用/d
就可以使用启动d:HearthstoneDeckTracker.exe
。要列出包括隐藏变量在内的所有环境变量,请输入set“
@eryksun:I可能是错误的,但我认为start D:HearthstoneDeckTracker.exe
不会根据需要设置(实际)当前目录。(我假设这些应用程序需要将当前目录设置为程序目录;否则,根本不需要使用cd
)如果未指定/d
选项,则初始工作目录将从cmd.exe继承。但为什么程序需要将工作目录设置为应用程序目录?这是多余的(即)如果一个程序需要将工作目录设置为它将要写入输出文件的目录,它不应该是它自己的目录,因为通常标准用户不能修改该目录。我最初的评论只是一个有趣的事实,关于每个驱动器当前目录的隐藏变量。我添加了编辑了关于D:HearthstoneDeckTracker.exe的部分,作为如何使用它的示例。