Batch file 如何从批处理文件中的当前工作目录恢复?

Batch file 如何从批处理文件中的当前工作目录恢复?,batch-file,Batch File,我需要一些帮助来编写批处理文件 在我的文件file.bat中,我有以下内容: SET path = "%CD%/../file.txt" 我正在尝试从当前工作目录返回一个文件夹 为了更容易理解,我的批处理文件在C:/users/xy/xfolder/batfolder/file.bat中,因此我想恢复到C:/users/xy/xfolder 我尝试过使用popd,或pushd,但两者都不起作用(对于我来说,恢复一个文件夹) 如何将path设置为从批处理文件的当前工作目录返回

我需要一些帮助来编写批处理文件

在我的文件
file.bat
中,我有以下内容:

SET path = "%CD%/../file.txt"
我正在尝试从当前工作目录返回一个文件夹

为了更容易理解,我的批处理文件在
C:/users/xy/xfolder/batfolder/file.bat中,因此我想恢复到
C:/users/xy/xfolder

我尝试过使用
popd
,或
pushd
,但两者都不起作用(对于我来说,恢复一个文件夹)


如何将
path
设置为从批处理文件的当前工作目录返回一个文件夹?

首先:不要使用
path
作为变量名。
%path%
是一个系统变量,告诉Windows在哪里可以找到它的可执行文件。除非您确切知道要做什么,否则不要乱动它。选择“不”取而代之的是她的名字

第二:您的
set
语法定义了一个变量
%path%
,它的值以
“C:\…
开头。正确的路径分隔符是反斜杠,而不是斜杠。最好使用以下语法:
set“mypath=%cd%\…\file.txt”

%cd%
是“当前工作目录”,它可能与“存储批处理文件的文件夹”相同,也可能不同

第三:“你的批处理文件所在的文件夹”被引用为
%~dp0
,因此你想要的文件应该是
“%~dp0..\file.txt”
,其中
%~dp0
=“存储批处理文件的文件夹”、
=“一个文件夹向上”和
file.txt
=“你想要的文件”(这称为“相对路径”)。

存储
file.txt
的“文件夹”只是
“%~dp0..”

首先:不要使用
路径
作为变量名。
%path%
是一个系统变量,告诉Windows在哪里可以找到它的可执行文件。除非您确切知道自己在做什么,否则不要弄乱它。请选择另一个名称

第二:您的
set
语法定义了一个变量
%path%
,它的值以
“C:\…
开头。正确的路径分隔符是反斜杠,而不是斜杠。最好使用以下语法:
set“mypath=%cd%\…\file.txt”

%cd%
是“当前工作目录”,它可能与“存储批处理文件的文件夹”相同,也可能不同

第三:“你的批处理文件所在的文件夹”被引用为
%~dp0
,因此你想要的文件应该是
“%~dp0..\file.txt”
,其中
%~dp0
=“存储批处理文件的文件夹”、
=“一个文件夹向上”和
file.txt
=“你想要的文件”(这称为“相对路径”)。
存储
file.txt
的文件夹是“%~dp0..”