繁体   English   中英

如何批量更改循环内的变量值

[英]how to change variable value inside loop in batch

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

我哪里错了?

还有其他方法可以期待无限循环吗?

setlocal EnableDelayedExpansion放在开始处,然后使用!var! 而不是%var% 然后,将对其进行每次评估。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM