如何连接Windowsbatch file中的string?
我有一个目录,我想用a列出所有.doc文件;  。 
我知道下面的批处理命令回显所有的文件:
 for /r %%i In (*.doc) DO echo %%i 
 但是现在我想把它们都放在一个variables中,加一个; 在两者之间,并立即回声。 
 我怎样才能做到这一点? 
 set myvar="the list: " for /r %%i In (*.doc) DO <what?> echo %myvar% 
	
关于什么:
 @echo off set myvar="the list: " for /r %%i in (*.doc) DO call :concat %%i echo %myvar% goto :eof :concat set myvar=%myvar% %1; goto :eof 
基于Rubens的解决scheme,您需要启用envvariables的延迟扩展(键入“help setlocal”或“help cmd”),以便在循环中正确评估var:
 @echo off setlocal enabledelayedexpansion set myvar=the list: for /r %%i In (*.sql) DO set myvar=!myvar! %%i, echo %myvar% 
还请考虑以下限制( MSDN ):
最大个体环境variables大小为8192字节。
 请注意,variables@fname或@ext可以简单地连接起来。 这个: 
 forfiles /S /M *.pdf /C "CMD /C REN @path @fname_old.@ext" 
将所有PDF文件重命名为“filename_old.pdf”