批处理脚本保存到CD?

时间:2018-09-08 02:46:25

标签: batch-file cmd scripting

基本上我的脚本中的所有内容都可以正常工作,并且它将txt文件保存到该行的c:/驱动器中

“ >> c:/information.txt”

但是我希望它保存在打开它的批处理文件的位置。

3 个答案:

答案 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”。