将包含文件夹设置为批处理文件中的变量
Set containing folder as variable in batch file
我正在尝试将我的包含文件夹作为一组变量放入我的批处理文件中。例如我有
c:\Monday\AM
周一保存到变量A,上午保存到变量B
我怎样才能做到这一点?
一旦我知道我将根据保存在变量上的名称创建一个 if else 语句(例如 Monday\AM = 1 Tuesday\AM = 2 Monday\PM = 1)
希望这能更好地解释我的问题
我很确定,这是一个 x-y problem(因此请求 "Try to explain the task")。但如果你坚持这样做:
@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
)并将最后两个元素放入变量中。完成后,它将恢复到原始工作文件夹。
这将获取批处理文件所在的目录(子目录)及其上方的文件夹(父目录)。
@echo off
for %%G in ("%~dp0\.") do set child=%%~nxG
for %%G in ("%~dp0\..") do set parent=%%~nxG
echo child=%child%
echo parent=%parent%
我正在尝试将我的包含文件夹作为一组变量放入我的批处理文件中。例如我有
c:\Monday\AM
周一保存到变量A,上午保存到变量B
我怎样才能做到这一点?
一旦我知道我将根据保存在变量上的名称创建一个 if else 语句(例如 Monday\AM = 1 Tuesday\AM = 2 Monday\PM = 1)
希望这能更好地解释我的问题
我很确定,这是一个 x-y problem(因此请求 "Try to explain the task")。但如果你坚持这样做:
@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
)并将最后两个元素放入变量中。完成后,它将恢复到原始工作文件夹。
这将获取批处理文件所在的目录(子目录)及其上方的文件夹(父目录)。
@echo off
for %%G in ("%~dp0\.") do set child=%%~nxG
for %%G in ("%~dp0\..") do set parent=%%~nxG
echo child=%child%
echo parent=%parent%