Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 用于循环读取空变量_Batch File_For Loop_String - Fatal编程技术网

Batch file 用于循环读取空变量

Batch file 用于循环读取空变量,batch-file,for-loop,string,Batch File,For Loop,String,我有一个在批处理文件中运行的子程序,在此期间,我将每个操作的成功结果输出到一个文本文件。一个例子是 set Tasks=One Two Three set LogFile=Log.txt for %%T in (%Tasks%) do call :Operation %%T :Operation set LogEntry=%1 echo %LogEntry%>> %LogFile% goto :EOF 使用它,我可以得到一个,两个和三个写入文本文件,但我也得到一个带有空变量的最

我有一个在批处理文件中运行的子程序,在此期间,我将每个操作的成功结果输出到一个文本文件。一个例子是

set Tasks=One Two Three
set LogFile=Log.txt

for %%T in (%Tasks%) do call :Operation %%T

:Operation
set LogEntry=%1
echo %LogEntry%>> %LogFile%
goto :EOF
使用它,我可以得到一个,两个和三个写入文本文件,但我也得到一个带有空变量的最终条目


有人知道问题出在哪里吗?

:操作只不过是一个标签。当
for
命令结束其工作时,批处理文件将继续执行,在标签和其中的代码执行后输入代码,但这次没有传递任何参数

for
命令后放置一个
goto:eof
或一个
exit/b
,以避免它

set Tasks=One Two Three
set LogFile=Log.txt

for %%T in (%Tasks%) do call :Operation %%T
goto :eof    

:Operation
set LogEntry=%1
echo %LogEntry%>> %LogFile%
goto :EOF

:操作
只是一个标签。当
for
命令结束其工作时,批处理文件将继续执行,在标签和其中的代码执行后输入代码,但这次没有传递任何参数

for
命令后放置一个
goto:eof
或一个
exit/b
,以避免它

set Tasks=One Two Three
set LogFile=Log.txt

for %%T in (%Tasks%) do call :Operation %%T
goto :eof    

:Operation
set LogEntry=%1
echo %LogEntry%>> %LogFile%
goto :EOF

帮了大忙!我自己观察和记录得很好!谢谢:)帮了大忙!我自己观察和记录得很好!谢谢:)