如何找到批处理文件的当前目录,然后将其用作路径?

2024-06-25

我有一个批处理文件,打算分发给我们的客户以运行软件任务。

我们将它们作为文件夹分发或.zip以及里面的文件。里面有批处理文件和另一个文件夹,其中包含运行批处理所需的文件。

通常,当您进行批处理时,您可以键入文件所在的路径。但我不知道文件在哪里。这些文件仍将保存在主文件夹中,但我需要让批处理找到该文件夹​​来运行文件。

例如:如果他们在桌面上有主文件夹并且运行它,则它需要类似于"C:\Users\Username\Desktop"跑步。您会将批处理 CD 放置到该位置。

但如果他们从文档中运行它呢?我不知道用户名,所以我必须以某种方式让批次找到它。任何代码和/或说明都会很棒。


无需知道文件在哪里,因为当您启动 bat 文件时,工作目录就是启动该文件的目录(“主文件夹”),因此如果您具有以下结构:

.\mydocuments\folder\mybat.bat
.\mydocuments\folder\subfolder\file.txt

而用户启动“mybat.bat”,工作目录是“.\mydocuments\folder”,所以你只需要在脚本中写入子文件夹名称:

@Echo OFF
REM Do anything with ".\Subfolder\File1.txt"
PUSHD ".\Subfolder"
Type "File1.txt"
Pause&Exit

不管怎样,工作目录存储在“%CD%”变量中,启动bat的目录存储在参数0上。然后,如果你想知道任何计算机上的工作目录,你可以这样做:

@Echo OFF
Echo Launch dir: "%~dp0"
Echo Current dir: "%CD%"
Pause&Exit
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何找到批处理文件的当前目录,然后将其用作路径? 的相关文章

随机推荐