关于Windows批处理文件:有没有办法让变量的所有路径都通向我的文件夹“src”,然后是* .cc,当我打印它时,它应该是这样的:
path1\src\*.cc path2\src\*.cc etc.
我发现了这个:
for /d /r . %%g in (src) do echo %%g
但打印
path1\src
path2\src
etc.
在标准输出上,因为echo %%g
。
修改
我需要将结果放在变量中,而不是在屏幕上打印(std out)。它必须是path_to_folder1\*.cc path_to_folder2\*.cc [...]
。
有可能吗?
编辑2
我实际上使用以下代码:
setlocal enabledelayedexpansion
for /d /r c:\ %%g in (Desktop*) do (
set APLLIS_SRC= !APPLIS_SRC! %%g\*.cc
)
endlocal
如果我在for echo path: !APPLIS_SRC!
:
path:
path:
[...]
Press any key to continue...
所以我的变量是空的...... 为什么?
操作系统:Windows Server 2008 SP2
答案 0 :(得分:0)
这将列出文件:将%%g
更改为%g
以在cmd提示符处使用它。
for /r %%g in (src\*.cc) do echo "%%g"
答案 1 :(得分:0)
setlocal enabledelayedexpansion
set "myvar="
for /d /r . %%g in (src) do set "myvar=!myvar! %%g"
echo %myvar%
echo %myvar:~1%
(未测试的)
请注意,'myvar'将包含一个前导空格。