С нами с 24.05.09
Сообщения: 1788
Рейтинг: 508
|
Добавлено: 25/10/12 в 19:02 |
Всем привет!
Кто понимает в MS-DOS batch, пожалуйста подскажите, как можно сделать, чтобы при переносе файлов в папки, они принимали значение переменной i.
Рабочий код раскидывания по папкам (по три файла в каждую папку):
Код: | @echo off&chcp 1251>nul
echo Перемещает по 3 .jpg файла из текущей в каждую вложенную папку по порядку.
setlocal enableextensions enabledelayedexpansion
for /F "delims=" %%c in ('dir /AD /B/ON') do (
set i=0
for /F "delims=" %%a in ('dir *.jpg /B/ON') do (
if !i! LSS 3 (move "%%a" "%%c\"&set /A i=i+1)
)
) |
Если я правильно понимаю, нужно сделать что-то вроде:
if !i! LSS 3 (move "%%a" " !i!.jpg\"&set /A i=i+1)
, чтобы текущий переносимый файл брался с именем переменной i.
Пытался методом научного тыка по-всякому, но не хочет.
В результате нужно получить файлы в папках, где они будут с именами 1.jpg, 2.jpg, 3.jpg - и так в каждой папке три ее файла переименуются при переносе.
Заранее огромное спасибо!
|
|
|
|
С нами с 11.10.12
Сообщения: 428
Рейтинг: 1032
|
Добавлено: 25/10/12 в 20:57 |
Код: | @echo off&chcp 1251>nul
echo Перемещает по 3 .jpg файла из текущей в каждую вложенную папку по порядку.
setlocal enableextensions enabledelayedexpansion
for /F "delims=" %%c in ('dir /AD /B/ON') do (
set /A i=1
for /F "delims=" %%a in ('dir *.jpg /B/ON') do (
if !i! LSS 4 (
copy "%%a" "%%c\!i!.jpg"
set /A i=i+1
)
)
) |
|
|
|
|
С нами с 24.05.09
Сообщения: 1788
Рейтинг: 508
|
Добавлено: 26/10/12 в 04:44 |
johndoe2: отлично работает bat-файл!
Очень благодарен!
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |