我有一个目录,我想用列出所有.doc
文件;
。
我知道以下批处理命令会回显所有文件:
for /r %%i In (*.doc) DO echo %%i
但是现在我想将它们全部放入一个变量中,;
在两者之间添加一个,并立即将它们全部回显。
我怎样才能做到这一点?
set myvar="the list: "
for /r %%i In (*.doc) DO <what?>
echo %myvar%
Answers:
基于鲁本斯的解决方案,您需要启用env变量的延迟扩展(类型为“ 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):
单个环境变量的最大大小为8192字节。