Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Подскажите по batch-файлу (перенос и переименование файлов)
цитата
25/10/12 в 19:02
 Yabuti
Всем привет!
Кто понимает в 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 - и так в каждой папке три ее файла переименуются при переносе.


Заранее огромное спасибо! smail04.gif
цитата
25/10/12 в 20:57
 johndoe2
Код:
@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
      )
   )
)
цитата
26/10/12 в 04:44
 Yabuti
johndoe2: отлично работает bat-файл!
Очень благодарен! smail49.gif smail04.gif


Эта страница в полной версии