簡體   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