Batch file 批处理脚本中的相对路径
我创建了一个批处理文件,可以同时启动多个程序。 此后,我使用xampp将整个程序加载到USB上,并尝试使该批处理文件更具动态性,因为驱动器号可能会根据USB所在的计算机而发生变化 我找到了一些类似问题的答案,这些问题都指向%dp0是创建我想要运行的程序的相对路径的正确答案。但是我不能让它工作。我试过几种组合,它们都说找不到批处理文件所指的程序。 以下是我对批处理文件中该部分的内容:Batch file 批处理脚本中的相对路径,batch-file,filepath,usb-drive,Batch File,Filepath,Usb Drive,我创建了一个批处理文件,可以同时启动多个程序。 此后,我使用xampp将整个程序加载到USB上,并尝试使该批处理文件更具动态性,因为驱动器号可能会根据USB所在的计算机而发生变化 我找到了一些类似问题的答案,这些问题都指向%dp0是创建我想要运行的程序的相对路径的正确答案。但是我不能让它工作。我试过几种组合,它们都说找不到批处理文件所指的程序。 以下是我对批处理文件中该部分的内容: :: Start programs cd "%~dp0/ic/" start xampp_start.exe cd
:: Start programs
cd "%~dp0/ic/"
start xampp_start.exe
cd "%~dp0/ic/"
start xampp-control.exe
cd "%~dp0/ic/"
start GoogleChromePortable.exe http://localhost:8080/wordpress/
我的文件结构是:
USB/IC/launch.bat
谢谢你的帮助 谢谢您的回复。
对于那些有类似问题的人
我发现问题的部分原因在于Xampp本身,但通过这样做,我能够启动这些程序:
:: Start programs
cd "%~dp0/"
start xampp_start.exe
cd "%~dp0/"
start xampp-control.exe
cd "%~dp0/GoogleChromePortable/"
start GoogleChromePortable.exe http://localhost:8080/wordpress/
我误解了dp0的作用,没有意识到它脱离了bat文件的目录。
再次感谢。1。使用反斜杠(\)分隔路径的组件。2. <代码>%~dp0已包含尾随反斜杠。因此,使用
cd“%~dp0ic\”
。使用%%dp0不会创建相对路径。这是一条绝对的道路。相对路径是指向当前工作目录所在位置的路径。请去掉正斜杠。不需要它们。为什么要将CD复制到批处理文件的位置。工作目录应该已经是批处理文件的位置。您根本不需要更改目录。您可以通过两种不同的方式使用批处理文件的相对路径启动程序1:start”““GoogleChromePortable\GoogleChromePortable.exe”
2:start”“/D“GoogleChromePortable”“GoogleChromePortable.exe”
。