View previous topic :: View next topic |
Author |
Message |
Nnfog
Joined: 04 Mar 2009 Posts: 1
|
(Separately) Posted: Wed Mar 04, 2009 17:03 Post subject: автоматизация выделения и копирования |
|
|
граждане, поможите плз с такой задачей:
есть папка. в ней 50 пустых папок с разными названиями и 200 файлов 01.txt 02.txt 03.txt 04.txt и тд. надо скопировать по 4 файла каждую папку по порядку. как нить можно это автоматизировать? допустим в левой панели выделяю все папки куда нужно скопировать, а в правой все файлы и скрипт все это по порядку распределяет.. |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
(Separately) Posted: Wed Mar 11, 2009 01:29 Post subject: |
|
|
Жаль, что папки с разными названиями. Чем ждать, пока кто-то напишет скрипт, давно бы сам написал батник. Например, так: Code: | 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\*.* | Писал навскидку. НЕ ТЕСТИЛ! _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Fri Mar 13, 2009 18:48 Post subject: |
|
|
Nnfog
Скопируй все нужные файлы и папки (не должно быть лишних) в отдельную папку. В неё же помести этот .cmd и запусти его.
Можно провернуть это и в существующей папке, но имеющиеся файлы будут перемещены.
Также раскидает и файлы с именами из букв.
------------------------------------------------ 4_by_dir.cmd ------------------------------------------------
Code: | @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 ------------------------------------------------ |
|
Back to top |
|
|
|