我需要一些帮助来编写批处理文件。我有一个存储在变量根目录中的路径,如下所示:
set root=D:\Work\Root
然后我将我的工作目录更改为此根目录,如下所示:
cd %root%
当我从 D 驱动器上的任何位置执行此批处理文件时,这已成功完成。但是当我从其他驱动器执行相同的批处理文件时, cd %root% 不起作用。
有没有办法从根变量中获取驱动器号?然后我可以先将当前目录更改为该驱动器,然后 cd %root% 即可工作。
我需要一些帮助来编写批处理文件。我有一个存储在变量根目录中的路径,如下所示:
set root=D:\Work\Root
然后我将我的工作目录更改为此根目录,如下所示:
cd %root%
当我从 D 驱动器上的任何位置执行此批处理文件时,这已成功完成。但是当我从其他驱动器执行相同的批处理文件时, cd %root% 不起作用。
有没有办法从根变量中获取驱动器号?然后我可以先将当前目录更改为该驱动器,然后 cd %root% 即可工作。
指定/D
也更改驱动器。
CD /D %root%
只需用于cd /d %root%
切换驱动程序字母和更改目录。
或者,pushd %root%
在更改目录以及将前一个目录存储在堆栈上时使用切换驱动器号,以便您可以使用popd
切换回来。
请注意,这pushd
还允许您将目录更改为网络共享。它实际上会为您映射一个网络驱动器,然后在您执行该popd
目录时取消映射它。
试试这个
chdir /d D:\Work\Root
享受生根;)
更简单的语法可能是
推%root%
在我的批处理文件中,我需要:
pushd
在的帮助下解决了这个问题popd
bat 文件示例
pushd <my-working-directory>
do command
do other command
...
popd
popd
将我移回原始目录。