4

我使用以下代码从收集器文本文件的前 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 不会改变。

我哪里错了?

有没有其他方法,期待无限循环来做到这一点?

4

1 回答 1

10

放在setlocal EnableDelayedExpansion开头,并使用!var!而不是%var%. 然后每次都对其进行评估。

于 2013-01-17T18:30:16.620 回答