基本上我的脚本中的所有内容都可以正常工作,并且它将txt文件保存到该行的c:/驱动器中
“ >> c:/information.txt”
但是我希望它保存在打开它的批处理文件的位置。
答案 0 :(得分:0)
您可以使用相对路径[1]进行操作,该相对路径是相对于当前位置的路径:
echo Hello World >>"information.txt"
您也可以使用绝对路径进行操作。批处理文件的路径存储在%0
(=每个批处理文件的第一个参数)[2]中,可以将其修改为驱动器%~d0
和路径%~p0
批处理文件。您可以轻松地将两者结合起来以获取驱动器的路径:%~dp0
。 [3]
echo Hello World >>"%~dp0information.txt"
在大多数情况下,这两种方法的作用相同,但我建议使用第二种方法,因为当前目录并不总是批处理文件的目录:如果从另一个目录(对于另一个目录执行批处理)例如),您会将其作为相对路径的目录。
[1] https://en.wikipedia.org/wiki/Path_(computing)#Absolute_and_relative_paths
[2] http://www.robvanderwoude.com/parameters.php
[3] cmd帮助中包含的有关调用和命令的完整修改列表:call/?
答案 1 :(得分:0)
%~dp0
仅在.bat文件脚本中起作用。在交互式命令提示符下将无法使用。
@ECHO OFF
(ECHO Hello World)>>"%~dp0information.txt"
答案 2 :(得分:0)
我已经解决了我的特殊问题。 除我删除“ c:/”外,其他所有内容保持不变 我在脚本顶部添加了“ Pushd%〜dp0”。