Windows 批处理文件引用自己的目录

Windows 批处理文件引用自己的目录

假设您有C:\foo\foo.bat需要引用的C:\foo\foo.txt。它可能从不同的目录运行,但需要foo.txt从其自己的目录(而不是当前目录)获取。显然,这可以通过将完整路径放在C:\foo\foo.txt中来完成foo.bat

问题是,在编写批处理文件时并不知道它最终会驻留在用户机器上的什么位置,因此批处理文件实际上需要做的是从我所在的目录获取 foo.txt,无论它在哪儿. (在我使用的 C 程序中argv[0]但它似乎不适用于批处理文件。)

有没有办法做到这一点?

答案1

%~dp0

将为您提供脚本的完整路径。

%~f0

将为您提供脚本的完整路径,包括脚本名称。

相关内容