%~dp0 \显示错误消息

时间:2014-02-02 09:18:09

标签: batch-file cmd

这是一个简单的问题。

不久前,当我编写程序时,我写了这个:

set /p a=<%~dp0\a.txt

这很有效。

最近,当我编写程序时,我写了这个:

set /p a=<%~dp0\a.txt

这不起作用。
所以我必须使用这个:

set /p a=<%~dp0a.txt

但这很神秘。如何在没有%~dp0的情况下使用\? 太神秘了。有人可以解释一下吗? 任何帮助将不胜感激。甚至评论。

2 个答案:

答案 0 :(得分:2)

将其放在一个文件夹中并运行它,然后查看屏幕上回显的路径的末尾。

@echo off
echo "%~dp0"
pause

您将看到它有一个终止反斜杠,因此可以针对它运行文件名。

在现代Windows的许多情况下,路径中连续两个\\也可以工作,但不是所有时间。

答案 1 :(得分:1)

因为%〜dp0与\一致,所以您可以在没有\的情况下使用它。