3

我正在创建一个批处理文件,我在一个路径上

C:\Validation\docs\chm

我想搬回

C:\Validation part 

这是在 %DialogPath% 这是由用户输入的,但是当我写

CD /D %DialogPath%

发生错误,告诉此路径不存在

4

3 回答 3

8

您的问题的直接答案是

cd ..\..

cd /D C:\Validation也有效。

与 then 命令相比,变量更可能出现问题。

于 2012-12-29T21:22:52.110 回答
3

在您提供有关脚本的更多详细信息之前,我们只能猜测问题可能是什么。

但是,由于您只在有限的时间内更改当前目录,您应该使用pushdandpopd命令。

示例:(运行此 .bat 脚本以查看如何pushd工作popd!)

:: Hide Commands
@echo off

:: Display Current Working Directory
echo Current Directory = %CD%

:: Create folders for demonstration purposes only
rd /Q "%Temp%\Test" 2>nul & mkdir "%Temp%\Test" & mkdir "%Temp%\Test\Subfolder"

:: Change the Working Directory
pushd "%Temp%"

:: Display Current Working Directory
echo Current Directory = %CD%

pushd "%Temp%\Test\Subfolder"

:: Display Current Working Directory
echo Current Directory = %CD%

:: Revert back to the previous Working Directory
popd

:: Display Current Working Directory
echo Current Directory = %CD%

:: Revert back to the previous Working Directory
popd

:: Display Current Working Directory
echo Current Directory = %CD%

pause

如需帮助,请键入pushd /?popd /?进入命令提示符。

于 2012-12-28T14:45:24.540 回答
2

您可以使用 向上移动一条路径cd ..。如果您这样做两次,您将进入C:\Validation目录。

在您的示例中,它看起来像这样:

C:\Validation\docs\chm> cd ..

C:\Validation\docs> cd ..

C:\Validation>
于 2014-06-29T20:29:21.350 回答