2016-11-28 230 views
1

我正在创建一个批处理程序(比如batch1),该程序必须从batch1的位置打开另一个批处理文件(batch2)。如果你不知道我的意思,我希望batch1充当.html文件。我的意思是,文件引用将来自batch1文件的位置。从批处理位置打开文件

所以想到这一点:

名为 “BatchFolder” 的文件夹中有2个文件。 1个文件夹命名为“数据”和另一个名为batch1.bat

在文件夹“数据”,有一个批处理文件batch2.bat

我想可以说"Start "Data\batch2.bat"在batch1.bat打开batch2.bat文件。

我想这样做,所以你可以在任何地方移动BatchFolder,并且batch1.bat仍然可以工作。

在此先感谢。

+0

似乎没有问题! _也请理解我们不是一个代码写作服务,因为你没有提供任何我假设你的期望是错误的。 – Compo

+0

失去开始命令。这不是启动程序的正常方式。 '“Data \ batch2.bat”'就足够了。尽管批处理文件不会按标准返回。你可能想要调用Data \ batch2.bat“'。有关如何启动程序的讨论,请参阅“开始/?”和“呼叫/?”。请参阅我的答案的结尾,以获得简要总结 - http://stackoverflow.com/questions/40371443/what-do-all-commands-in-batch-mean-and-do。 – 2016-11-28 01:23:18

+0

使用/ D开关和'START'命令,以便它将工作目录设置为批处理文件的位置。 – Squashman

回答

0

%0脚本参数是脚本名称。您可以提取脚本驱动器,路径,文件名,脚本的扩展部分。

rem Get script dir, with '\' on the end 
rem Example: c:\folder\ 
set SCRIPT_DIR=%~dp0 

rem Trim the last '\' 
rem Example: c:\folder 
set SCRIPT_DIR=%SCRIPT_DIR:~0,-1% 

因此,您可以使用"%SCRIPT_DIR%\Data\batch2.bat"路径来引用您的第二个批处理文件。

相关问题