0 / 0 / 0
Регистрация: 12.04.2012
Сообщений: 5
|
|
1 | |
Батник для распределения файлов по папкам12.04.2012, 11:33. Показов 3037. Ответов 6
Метки нет (Все метки)
Создание бат сортировщика файлов по папкам. Имеется 12 папок с N (примерно 1000) количеством файлов в каждой. Нужно взять из каждой папки файлы с одинаковым порядковым номером например:
C:/Diplom/1/1_000001.jpeg C:/Diplom/2/2_000001.jpeg C:/Diplom/3/3_000001.jpeg ... C:/Diplom/12/12_000001.jpeg И скопировать их в папку P0001 С:/Diplom/1/1_000998.jpeg C:/Dilpom/2/2_000998.jpeg ... C:/Diplom/12/12_000998.jpeg И скопировать их в папку P0998 Всего будет N (примерно 1000) папок по 12 файлов внутри. Здесь на форуме откопал похожий батник и пытался переделать по своему, помогите где я ошибся. Программа наотрез отказывается работать @echo off dir /a:-d /b /s "diplom" > list.txt for /l %%x in (1,1,1000) do (for /f "tokens=1,2 delims=_" %%i in ('findstr /c:"%%x" "list.txt"') do (xcopy /i /y /q "%%i_%%j" "P%%x\" )) exit
0
|
12.04.2012, 11:33 | |
Ответы с готовыми решениями:
6
Батник, раскидывающий файлы в зависимости от их имён по папкам Батник для перемещения файлов Батник для переноса файлов Батник для переноса файлов |
251 / 239 / 16
Регистрация: 31.12.2009
Сообщений: 324
|
|
12.04.2012, 13:18 | 2 |
Попробуйте так:
Код
@echo off if not "%1" == "" goto L1: for %%i in (0 1 2 3 4 5 6 7 8 9) do call %0 %%i echo NUMERICAL CAPACITY EXHAUSTED, PROCESS TERMINATED pause goto ND: :L1 if not "%2" == "" goto L2: for %%i in (0 1 2 3 4 5 6 7 8 9) do call %0 %1 %%i goto ND: :L2 if not "%3" == "" goto L3: for %%i in (0 1 2 3 4 5 6 7 8 9) do call %0 %1 %2 %%i goto ND: :L3 md c:\diplom\p0%1%2%3 xcopy /y c:\diplom\1\1_000%1%2%3.jpeg c:\diplom\p0%1%2%3\1_000%1%2%3.jpeg xcopy /y c:\diplom\2\2_000%1%2%3.jpeg c:\diplom\p0%1%2%3\2_000%1%2%3.jpeg xcopy /y c:\diplom\3\3_000%1%2%3.jpeg c:\diplom\p0%1%2%3\3_000%1%2%3.jpeg xcopy /y c:\diplom\4\4_000%1%2%3.jpeg c:\diplom\p0%1%2%3\4_000%1%2%3.jpeg xcopy /y c:\diplom\5\5_000%1%2%3.jpeg c:\diplom\p0%1%2%3\5_000%1%2%3.jpeg xcopy /y c:\diplom\6\6_000%1%2%3.jpeg c:\diplom\p0%1%2%3\6_000%1%2%3.jpeg xcopy /y c:\diplom\7\7_000%1%2%3.jpeg c:\diplom\p0%1%2%3\7_000%1%2%3.jpeg xcopy /y c:\diplom\8\8_000%1%2%3.jpeg c:\diplom\p0%1%2%3\8_000%1%2%3.jpeg xcopy /y c:\diplom\9\9_000%1%2%3.jpeg c:\diplom\p0%1%2%3\9_000%1%2%3.jpeg xcopy /y c:\diplom\10\10_000%1%2%3.jpeg c:\diplom\p0%1%2%3\10_000%1%2%3.jpeg xcopy /y c:\diplom\11\11_000%1%2%3.jpeg c:\diplom\p0%1%2%3\11_000%1%2%3.jpeg xcopy /y c:\diplom\12\12_000%1%2%3.jpeg c:\diplom\p0%1%2%3\12_000%1%2%3.jpeg echo PASSED: %1%2%3 :ND
0
|
0 / 0 / 0
Регистрация: 12.04.2012
Сообщений: 5
|
|
12.04.2012, 14:10 [ТС] | 3 |
Спасибо, работает=) А как автоматизировать сей процесс? Оставил нажатой кнопочку f (хватило 10 минут)
0
|
251 / 239 / 16
Регистрация: 31.12.2009
Сообщений: 324
|
|
12.04.2012, 14:46 | 4 |
Дописать ключи для команды xcopy? (см. xcopy /?) Или списать их (эти самые ключи) из вашего первого батника: "xcopy /i /y /q" - ключи добавлять во все 12 строк
PS: А вообще я не понял ваш вопрос: зачем f ?
0
|
0 / 0 / 0
Регистрация: 12.04.2012
Сообщений: 5
|
|
12.04.2012, 15:12 [ТС] | 5 |
Батник просит подтвеждения типа (c:/diplom/1/1_000001.jpeg - Это файл (f) или каталог? (d) и просит нажатия соответствующей кнопки
0
|
251 / 239 / 16
Регистрация: 31.12.2009
Сообщений: 324
|
|
12.04.2012, 19:48 | 6 |
Таки да, спрашивает. Лечить либо заменой ключа /y на /i либо 12 строк править так:
Код
echo F | xcopy c:\diplom\1\1_000%1%2%3.jpeg c:\diplom\p0%1%2%3\1_000%1%2%3.jpeg ...
0
|
0 / 0 / 0
Регистрация: 12.04.2012
Сообщений: 5
|
|
15.04.2012, 12:43 [ТС] | 7 |
Buggydancer вообще спас, есть на свете добрые люди=) Сапсибо=)
0
|
15.04.2012, 12:43 | |
15.04.2012, 12:43 | |
Помогаю со студенческими работами здесь
7
Батник для удаление файлов в сети Батник для удаления файлов не видит их Батник для удаления определённых файлов Батник для переноса папок и файлов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |