Variables 将当前路径存储在变量中并重用它

Variables 将当前路径存储在变量中并重用它,variables,batch-file,cd,Variables,Batch File,Cd,我知道已经有人问过类似的问题,但不知何故,我无法找出代码中的错误。 我正在用下面的代码生成一个.bat文件 echo off echo %cd% set curr_directory = "%cd%" echo $curr_directory pause 输出为: C:\Users\MyDesktop>echo off C:\Users\MyDesktop> $curr_directory Press any key to continue . . . 所以我不明白为什么变量c

我知道已经有人问过类似的问题,但不知何故,我无法找出代码中的错误。 我正在用下面的代码生成一个.bat文件

echo off 
echo %cd%
set curr_directory = "%cd%"
echo $curr_directory
pause
输出为:

C:\Users\MyDesktop>echo off
C:\Users\MyDesktop>
$curr_directory
Press any key to continue . . .
所以我不明白为什么变量
curr\u directory
的值没有被打印出来。 我最终想做的是使用变量更改目录,如下所示:
cd$curr\u目录


谢谢

我不知道从哪里开始。关于代码的一切都是错误的。这应该起作用:

@echo off 
echo %cd%
set curr_directory=%cd%
echo %curr_directory%
pause
在批处理中,您可以通过
%var%
而不是
$var
访问变量。此外,不要在
=
后面加空格
SET x=123
将在x中存储123,但
SET x=123
将在x中存储123(u表示空格)


编辑:如SomethingDark所述,第一行应该是
@echo off
,除非您确实希望打印消息
echo off
。是的,
SET x=123
意味着
%x%
123
我不知道从哪里开始。关于代码的一切都是错误的。这应该起作用:

@echo off 
echo %cd%
set curr_directory=%cd%
echo %curr_directory%
pause
在批处理中,您可以通过
%var%
而不是
$var
访问变量。此外,不要在
=
后面加空格
SET x=123
将在x中存储123,但
SET x=123
将在x中存储123(u表示空格)


编辑:如SomethingDark所述,第一行应该是
@echo off
,除非您确实希望打印消息
echo off
。是的,
SET x=123
表示
%x%
123
使用%curr\u目录%而不是$curr\u目录

避免像下面这样的间隔

“设置当前目录=%cd%”

下面应该有用

echo off 
echo %cd%
set curr_directory=%cd%
echo curr_directory is %curr_directory%
pause

使用%curr\u目录%而不是$curr\u目录

避免像下面这样的间隔

“设置当前目录=%cd%”

下面应该有用

echo off 
echo %cd%
set curr_directory=%cd%
echo curr_directory is %curr_directory%
pause

您可能对使用
%variable%
而不是
$variable
调用批处理中的
pushd
popd
变量感兴趣。非常感谢大家。。它起作用了!!:顺便说一句,使用
set“curr\u directory=%cd%”比使用
set curr\u directory=“%cd%”更好。这样,你的变量就不会包含双引号,但它仍然适用于包含空格的路径。奇怪的是,你会对一个变量使用百分比符号,而对另一个变量则不使用百分比符号。在所有条件相同的情况下,最简单的解释往往是正确的。您可能对
pushd
popd
感兴趣。批处理中的变量是使用
%variable%
而不是
$variable
调用的。非常感谢大家。。它起作用了!!:顺便说一句,使用
set“curr\u directory=%cd%”比使用
set curr\u directory=“%cd%”更好。这样,你的变量就不会包含双引号,但它仍然适用于包含空格的路径。奇怪的是,你会对一个变量使用百分比符号,而对另一个变量则不使用百分比符号。在所有条件相同的情况下,最简单的解释往往是正确的。说到错误,你的第一行应该是
@echo off
:)好的,你可能是对的,但是如果你真的想打印“echo off”,echo off不是一个错误:)
将把_123(u.means space)存储在x
-不。它将存储在
%x%
中,而不是
%x%
…并且问题的标题也是错误的:by“当前路径”我们理解
path
变量的当前值,而不是“当前目录”,也不是所有。说到错误,您的第一行应该是
@echo off
:)好的,您可能是对的,但是如果您真的想打印“echo off”,echo off不是错误:)
将存储123(u.表示空间)在x中
-否。它将存储在
%x%
中,而不是
%x%
…问题的标题也是错误的:通过“当前路径”,我们了解
路径
变量的当前值,而不是“当前目录”“祝贺你,你知道如何复制和粘贴两小时前在这里的另一个答案。实际上,我不投你反对票的唯一原因是,我不会把反对票浪费在有1个代表的用户身上。祝贺你,你知道如何复制和粘贴两小时前在这里的另一个答案。实际上,我不投你反对票的唯一原因是因为我不会把反对票浪费在有1个代表的用户身上。