2016-03-15 5 views
1

Я хочу поместить некоторые файлы в некоторые папки, которые имеют одинаковую идентификацию (нумерацию).копирование файла в папку подстановочных файлов с использованием командного файла

Файл Pile_XX.jnl.txt в папку XX_ (имя_папки), XX - идентификационный номер.

Это то, что я сделал, но он не работает

for %%i in (3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32) do (

echo copying Pile_%%i.jnl.txt 

copy Pile_%%i.jnl.txt %%i*/Comp/mdl/pile.jnl 

echo. 

) 

он говорит неправильный синтаксис

спасибо!

+0

, конечно, это не работает. Вы действительно думаете, что 'copy' принимает подстановочный каталог в качестве адресата? – Stephan

+0

Спасибо за быстрый ответ, любое предложение? – arsewi

ответ

0

использовать другой for, чтобы получить подкаталоги и копировать их один за другим:

echo off 
for /l %%i in (3,1,32) do (
echo --- %%i --- 
for /d %%d in (%%i_*) do ( 
    echo copy "Pile_%%i.jnl.txt" "%%d\comp\mdl\pile.jnl" 
) 
) 

Снимите ECHO, если выход удовлетворяет вас.

(я изменил свою %%i петлю на for /L потому, что это короче, но с другой стороны, она работает только для последовательных чисел)

+0

Привет @Stephan, спасибо за ваше предложение. Однако похоже, что он работает в первом цикле, второй цикл не работает. Он не дает никакой обратной связи (Pile_3.jnl.txt, Pile_4.jnl.txt, ........). Файлы также не копируются. – arsewi

+0

работает, если я удалил второй цикл и просто поместил команду копирования в первый цикл. Тем не менее, он не делал никаких подстановочных каталогов, каталоги просто 3,4,5 ... 32 без каких-либо дополнительных строк. – arsewi

+0

Я РАБОТАЮ! жаль, что это была моя ошибка. Спасибо @Stephan !! – arsewi

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