Variables 在批处理文件的文件路径目录中使用变量
我有一个相当简单的问题,但是我似乎在任何地方都找不到解决方案 我正在处理批处理文件中的一些变量,我想根据变量更改目录 例如 当我运行批处理文件时,它只是停留在“2000”文件夹中,而不是像我要求的那样进入下面的文件夹。有什么办法可以让它工作吗 编辑:根据请求,以下是在批处理文件中写入的确切代码。谢谢你的帮助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 您需要设置
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%