batchscript通过for循环连接文件名字符串

时间:2017-10-20 06:51:11

标签: batch-file for-loop

我正在尝试通过循环进行简单的文件名字符串连接,但不知怎的,它并没有'工作。一直试图在堆栈溢出中搜索它,但解决方案并不真正有用。

这是我的代码:

setlocal EnableDelayedExpansion
set str=
for /r %%i in (*) do (
    set str=%str%'%%i'
)
echo %str%
endlocal

我的文件目录是C:\ dir。内部文件只是file1.txt,file2.txt。

我希望%str%'C:\dir\file1.txt','C:\dir\file2.txt'的输出结果,但我的输出结果是:%str%'C:\dir\file2.txt'。它只输出目录中的最后一个文件。

1 个答案:

答案 0 :(得分:0)

set str=!str!,'%%i'

然后

echo %str:~1%

请参阅有关delayed expansion的任意数量的SO文章。

每个单独的项目都会以逗号后的形式添加到列表中,因此:~1使用batch-substringing到echo字符串,从第1个字符开始(从第0个字符开始)< / p>