2012-04-20 2 views
0

У меня есть сценарий, который я собрал, чтобы скопировать список файлов в переменную, но единственное, что я получаю, это последний файл. Другими словами, когда я повторяю переменную в цикле for for, я вижу около 20 файлов, но только последняя копируется в мою переменную. Как я могу заставить их все правильно копировать?Конкатенировать пути к переменной в пакетном скрипте

Я использую для Windows 7.

@echo off 
setlocal enabledelayedexpansion enableextensions 

for /r %%x in (*) do (
    echo %%x 
    SET PATH_VALUE=%%x;%PATH_VALUE% 
) 

ответ

1

Один из способов заключается в использовании отсроченного расширения. Вы включили его - половину выполняемой работы. Теперь вы хотите только использовать это. Заменить % сек вокруг PATH_VALUE с ! с, и вы сделали:

@echo off 
setlocal enabledelayedexpansion enableextensions 

for /r %%x in (*) do (
    echo %%x 
    SET PATH_VALUE=%%x;!PATH_VALUE! 
) 
+0

Wow! Я попробовал что-то похожее на то, что раньше, и это не сработало, но это было! Благодаря! – MikeG

Смежные вопросы