【发布时间】:2014-04-23 07:05:49
【问题描述】:
我有一个文件 FileLis.txt,其中包含的数据为
文件1.txt 文件2.txt file3.txt 等等。下面的部分代码%%a 显示的结果与我上面的文件列表完全相同,但是当我将相同的分配给变量时,它只得到第一行 (set "TARG_FILE=%%a")。
谁能解释一下为什么会有这种行为差异以及正确的书写方式是什么?
@ECHO off
SETLOCAL EnableDelayedExpansion
REM Write list of files of the input folder to a file
DIR /o-d /b c:\data\All_Inputfiles\*.* > D:\data\FileLis.txt
Set AllInputFile= D:\data\FileLis.txt
ECHO " %AllInputFile%>>D:\data\debuginfo.txt
for /f "tokens=*" %%a in (%AllInputFile%) do (
ECHO "Start of Main Loop Iteration#######################">>D:\data\debuginfo.txt
ECHO
set "TARG_FILE=%%a"
ECHO "TARG_FILE " %TARG_FILE% "line="%%a>>D:\data\debuginfo.txt
ECHO
)
【问题讨论】:
标签: windows batch-file for-loop