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

时间:2012-07-12 14:17:54

标签: variables batch-file path directory cmd

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

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

例如

variable SET /Jan2000 = a
cd P:\Reference\Data\2000\%a%

当我运行批处理文件时,它只停留在“2000”文件夹中,它不会像我要求的那样进入下面的文件夹。有没有办法让这个工作?

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

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

3 个答案:

答案 0 :(得分:5)

我不能在@ aphoria的答案中添加太多内容,但试试这个

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

使用pushd代替cd可能会导致更改驱动器上的目录时出现问题。 (我知道,/d开关适用于此,但值得一试。

答案 1 :(得分:4)

您需要SET您的变量。

例如:

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

答案 2 :(得分:0)

是的,我同意。我需要保持一周的每周备份,所以我通过从系统日期中提取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%文件夹