Страница 1 из 1

автоматизация выделения и копирования

Добавлено: Ср мар 04, 2009 16:03
Nnfog
граждане, поможите плз с такой задачей:
есть папка. в ней 50 пустых папок с разными названиями и 200 файлов 01.txt 02.txt 03.txt 04.txt и тд. надо скопировать по 4 файла каждую папку по порядку. как нить можно это автоматизировать? допустим в левой панели выделяю все папки куда нужно скопировать, а в правой все файлы и скрипт все это по порядку распределяет..

Добавлено: Ср мар 11, 2009 00:29
Вахмурка
Жаль, что папки с разными названиями. Чем ждать, пока кто-то напишет скрипт, давно бы сам написал батник. Например, так:

Код: Выделить всё

for %%a in (1 2 3 4) do copy 0%%a.txt c:\First_folder\*.*
for %%b in (5 6 7 8) do copy 0%%b.txt c:\Second_folder\*.*
Писал навскидку. НЕ ТЕСТИЛ!

Добавлено: Пт мар 13, 2009 17:48
Tol!k
Nnfog
Скопируй все нужные файлы и папки (не должно быть лишних) в отдельную папку. В неё же помести этот .cmd и запусти его.
Можно провернуть это и в существующей папке, но имеющиеся файлы будут перемещены.
Также раскидает и файлы с именами из букв.

------------------------------------------------ 4_by_dir.cmd ------------------------------------------------

Код: Выделить всё

@echo off&chcp 1251>nul

echo Перемещает по 4 .txt файла из текущей в каждую вложенную папку по порядку.
rem Автор: Tol!k
rem Для правильной сортировки порядковые имена должны быть равной длины, то есть:
rem 001.txt
rem 010.txt
rem 100.txt

setlocal enableextensions enabledelayedexpansion
for /F "delims=" %%c in ('dir /AD /B/ON') do (
set i=0
for /F "delims=" %%a in ('dir *.txt /B/ON') do (
if !i! LSS 4 (move "%%a" "%%c\"&set /A i=i+1)
)
)
------------------------------------------------ 4_by_dir.cmd ------------------------------------------------