Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Variables 在批处理文件的文件路径目录中使用变量_Variables_Batch File_Path_Directory_Cmd - Fatal编程技术网

Variables 在批处理文件的文件路径目录中使用变量

Variables 在批处理文件的文件路径目录中使用变量,variables,batch-file,path,directory,cmd,Variables,Batch File,Path,Directory,Cmd,我有一个相当简单的问题,但是我似乎在任何地方都找不到解决方案 我正在处理批处理文件中的一些变量,我想根据变量更改目录 例如 当我运行批处理文件时,它只是停留在“2000”文件夹中,而不是像我要求的那样进入下面的文件夹。有什么办法可以让它工作吗 编辑:根据请求,以下是在批处理文件中写入的确切代码。谢谢你的帮助 chdir /D P:\Reference\Data\2000 SET Jan2000 = a chdir P:\Reference\2000\%a% dir pause 您需要设置

我有一个相当简单的问题,但是我似乎在任何地方都找不到解决方案

我正在处理批处理文件中的一些变量,我想根据变量更改目录

例如

当我运行批处理文件时,它只是停留在“2000”文件夹中,而不是像我要求的那样进入下面的文件夹。有什么办法可以让它工作吗

编辑:根据请求,以下是在批处理文件中写入的确切代码。谢谢你的帮助

chdir /D P:\Reference\Data\2000
SET Jan2000 = a
chdir P:\Reference\2000\%a%   
dir
pause

您需要设置变量

例如:

SET a=Jan2000
CD P:\Reference\Data\2000\%a%

我不能给@aphoria的答案增加太多,但是试试这个

set a=jan2000
pushd P:\Reference\Data\2000\%a%

使用
pushd
而不是
cd
以防在驱动器上更改目录时出现问题。(我知道,
/d
开关就是为了这个,但值得一试)。

是的,我同意。我需要保留一周的每日备份,因此我通过从系统日期中提取3个字母的工作日来创建“每周一天”文件夹:

set Today=%DATE:~0,3%
Echo  The day of the week is %Today%
If exist U:\%Today% rd U:\%Today% /s /q
md U:\%Today%

接着是各种Robocopy命令写入U:\%Today%文件夹

抱歉,我已经设置好了,我只是忘了在我的问题中键入它。看看你的
SET
命令。您正在创建一个名为
Jan2000
的变量,并将其值设为
a
。然后,在下一行中,您将尝试访问名为
a
的变量。另外,请去掉等号周围的空格…
设置a=Jan2000
。如果这听起来很愚蠢,我真的很抱歉,但我不确定你的意思。下面的文件夹名为“jan2000”,现在已分配给“a”,为什么不向下移动到新文件夹?您的
SET
命令是向后的。变量名位于
=
的左侧,值位于右侧。看看你的代码和我的代码之间的区别。
set Today=%DATE:~0,3%
Echo  The day of the week is %Today%
If exist U:\%Today% rd U:\%Today% /s /q
md U:\%Today%