在批处理文件中将文件夹设置为变量

时间:2016-10-25 13:53:03

标签: batch-file cmd command-prompt

我试图将我的包含文件夹作为一组变量放在我的批处理文件中。例如我有

C:\星期一\ AM

星期一将保存到变量A,而AM将保存到变量B

我怎样才能做到这一点?

一旦我知道我将根据保存在变量上的名称创建一个if else语句(例如Monday \ AM = 1 \ 2 Tuesday \ AM = 2 \ 2 Monday \ PM = 1 \ 1)

希望这能更好地解释我的问题

2 个答案:

答案 0 :(得分:3)

这将获得批处理文件所在的目录(子)和上面(父)的文件夹。

@echo off
for %%G in ("%~dp0\.") do set child=%%~nxG
for %%G in ("%~dp0\..") do set parent=%%~nxG
echo child=%child%
echo parent=%parent%

答案 1 :(得分:0)

我非常确定,这是x-y problem(因此请求"尝试解释任务")。但如果你坚持这样做:

@echo off
pushd %~dp0
for %%X in (%cd%) do set _b=%%~nxX
pushd ..
for %%X in (%cd%) do set _a=%%~nxX
popd
popd
echo %_a%, %_b%

这会切换到批处理文件所在的文件夹(即%~dp0),并将最后两个元素转换为变量。完成后,它将恢复到原始工作文件夹。