我使用下面的代码从收集器文本文件的前4个字符的值创建一个目录
@echo off & setlocal enabledelayedexpansion
:loop
set /P txt_file=<Collector.txt
Set collector_id=!txt_file:~0,4!
:: check for existence of [OutputFolder]
:: if [OutputFolder] doesn't exist, create it
if not exist %collector_id% (
echo folder %collector_id% not found
echo creating folder %collector_id%
md %collector_id%
)
xcopy *.txt %collector_id% /v
Del *.txt
goto loop
我想连续执行上面的循环,以检查当前目录是否为空。如果不是我想制作一个目录,如果不存在,名称为collector.txt的前4个字符。
如果目录不为空,一切正常。当上面循环并且我将collector.txt添加到当前目录时,collector_id不会改变。
我哪里错了?
有没有其他方法,期望无限循环来做到这一点?
答案 0 :(得分:6)
将setlocal EnableDelayedExpansion
放在开头,然后使用!var!
代替%var%
。然后每次评估它。