我试图将我的包含文件夹作为一组变量放在我的批处理文件中。例如我有
C:\星期一\ AM
星期一将保存到变量A,而AM将保存到变量B
我怎样才能做到这一点?
一旦我知道我将根据保存在变量上的名称创建一个if else语句(例如Monday \ AM = 1 \ 2 Tuesday \ AM = 2 \ 2 Monday \ PM = 1 \ 1)
希望这能更好地解释我的问题
答案 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
),并将最后两个元素转换为变量。完成后,它将恢复到原始工作文件夹。