2017-10-20 85 views
0

我想通過循環做簡單的文件名字符串連接,但不知何故它不工作。一直試圖在堆棧溢出中搜索它,但解決方案並沒有真正的工作。batchscript通過for循環連接文件名字符串

這裏是我的代碼:

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

我的文件目錄爲C:\目錄。文件內部只是file1.txt,file2.txt。

我希望這個輸出爲%str%'C:\dir\file1.txt','C:\dir\file2.txt'但我的輸出結果是這樣的:%str%'C:\dir\file2.txt'。它只輸出目錄中的最後一個文件。

回答

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

然後

echo %str:~1% 

見任何人數約delayed expansion的原因SO文章。

每個單獨的項目被添加到一逗號後的列表,因此:~1使用分批substringing到echo字符串,起始於第i個字符(它開始於第0字)