我写了下面的脚本:
@echo off
setlocal EnableDelayedExpansion
REM Collect source filenames from C:\Files and load into C:\doc.txt
dir C:\sources\Sourcefiles /b /a-d > C:\sourcefilenames.txt
REM fetch count of source files and store into variable count
For /F %%I in ('call C:\count.bat ') Do Set count=%%I
REM loop "count" number of times and echo temp.txt value
FOR /L %%A IN (1,1,%count%) DO (
REM call line.bat to fetch line 1,line 2 and so on of sourcefilenames.txt for each loop
call line.bat %%A>C:\temp.txt
set /p var=<C:\temp.txt
echo var:%var% ----------> returns previous run value
type C:\temp.txt ----------. returns current value of temp.txt
)
基本上我想从上面的脚本中做的是:我正在从 temp.txt 的内容创建一个变量(var)(temp.txt 中的数据将在每次循环运行时发生变化)以用于多个循环。
但我面临的问题是: Echo var is:%var% command 返回我以前的运行值不是 temp.txt 当前内容。而命令“type C:\temp.txt”返回我 temp.txt 当前内容。(注意:如果我从其他脚本调用/创建了变量“var”,它会返回之前的值,否则返回 Null)
非常感谢您对上述问题的帮助/指导。谢谢