我正在进行批处理脚本编写,我必须从另一个脚本中调用一个脚本。无论我的讲师在哪里保存这些脚本,我都需要脚本来运行第二个脚本。我该怎么做有没有办法在脚本中找到脚本的路径并使用它来执行文件。任何帮助都会很棒。我想我需要使用%,但我不确定。 脚本的名称是Hello World.bat。
如果我不知道讲师把它放在哪个目录中,我如何将Hello World.bat复制到C:\。我将使用哪些命令,以便无论脚本位置如何,副本都能正常工作。
答案 0 :(得分:1)
我没有看到“DOS”标签,但我认为现在是这样。如果你想要整个路径,你可以这样做:
echo %cd%
如果您只想要最后一个文件夹,则可以(在.bat文件中):
for %%* in (.) do @echo %%~n*
请注意,从命令行,上面的命令将适用于单个%的:
for %* in (.) do @echo %~n*
答案 1 :(得分:0)
如果您正在执行的脚本正在调用SAME文件夹位置中的其他脚本,则可以在路径语句前加上“%~dp0”或“%~dps0”,但不要在该名称和名称之间加上反斜杠。你打电话的脚本。换句话说,如果script1.bat在同一文件夹中调用script2.bat,则script1.bat中的语句将引用“%~dp0script2.bat”
答案 2 :(得分:0)
抱歉批处理文件,我不熟悉,但在nix shell中,如果你确切知道文件名并且名称是唯一的,则有locate命令可以返回文件的路径。
像
name = $(找到filname)