批量脚本保存到CD?

问题描述 投票:-1回答:3

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

“>> c:/information.txt”

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

batch-file cmd scripting
3个回答
0
投票

%~dp0仅适用于.bat文件脚本。它不会在交互式命令提示符下工作。

@ECHO OFF
(ECHO Hello World)>>"%~dp0information.txt"

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/?


0
投票

我已经弄明白了我的问题。一切都保持不变,除了我删除“c:/”我在我的脚本顶部添加了“Pushd%~dp0”。

© www.soinside.com 2019 - 2024. All rights reserved.