9

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

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

例如,

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
4

3 回答 3

5

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

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

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

于 2012-07-12T16:25:36.947 回答
5

你需要SET你的变量。

例如:

SET a=Jan2000
CD P:\Reference\Data\2000\%a%
于 2012-07-12T14:37:56.920 回答
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% 文件夹

于 2013-03-28T16:23:44.383 回答