2012-03-23 67 views
1

我正在执行批处理脚本分配,我必须从另一个脚本中调用一个脚本。无论我的讲师保存这些脚本,我都需要该脚本来运行第二个脚本。我将如何做到这一点。有什么方法可以在脚本中找到脚本的路径并使用它来执行该文件。任何帮助都会很棒。我想我需要使用%的,但我不确定。 脚本的名称是Hello World.bat。在命令行中查找文件路径

如何将Hello World.bat复制到C:\如果我不知道讲师将其放入哪个目录中,我将使用哪些命令以便副本可以工作,而不管脚本位置如何。

回答

0

如果您正在执行的脚本正在调用SAME文件夹位置中的其他脚本,则可以用“%〜dp0”或“%〜dps0”作为路径语句的前缀,但不要在该名称和名称之间加一个反斜杠您正在调用的脚本。换句话说,如果script1.bat在同一个文件夹中调用script2.bat,script1.bat中的语句将引用“%〜dp0script2.bat”

+0

你能解释一下这究竟要做%〜DP0 – batsta13 2012-03-23 09:41:36

+0

这个问题有%的良好的解释〜DP0:http://stackoverflow.com/问题/ 1645843 /批处理文件的决心绝对路径 - 从相对路径和-或文件名称 – Aaron 2012-03-23 15:57:44

1

我没有看到“DOS”标记,但我会认为这是现在。如果你想整个路径,你可以这样得到它:

echo %cd% 

如果你想刚刚过去的文件夹,这个工程(.bat文件里):

for %%* in (.) do @echo %%~n* 

注意,从在命令行中,上面的命令将与单%的工作:

for %* in (.) do @echo %~n* 
0

约批处理文件对不起,我不熟悉,但在尼克斯的外壳,还有就是定位命令,它可以返回该文件的路径,如果你知道文件名前实际而且名字是独一无二的。

名= $(定位FILNAME)