Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
Ctulhu
0 / 0 / 0
Регистрация: 26.08.2015
Сообщений: 3
1

Перенос n-ного количества файлов из одной папки в другую

26.08.2015, 12:34. Просмотров 2172. Ответов 12
Метки нет (Все метки)

Добрый день!
Прошу помощи в решении такой не простой для меня задаче.
Имеется папка (А) с неким количеством файлов. Требуется перенести из этой папки n (например 10) файлов в папку B, и C. При этом в папку B должны попасть файлы 1-10, а в папку С 11-20. Все усложняется тем, что имена файлов самые разные. Тип файлов один.
Подскажите пожалуйста направление в котором стоит двигаться.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.08.2015, 12:34
Ответы с готовыми решениями:

Перенос файлов из одной папки в другую
Добрый день. помогите создать Батник Задача в том что бы Батник выполнял перенос файлов с одной...

Перенос определённых файлов из одной папки в другую
Доброго вечера и дня! Задача в том что бы Batch-фаил переносил (не копировал) файлы с расширением...

Копирование файлов из одной папки в другую, но с пропуском одинаковых файлов в этих папках
Доброго времени суток. Прошу помощи в написании батника. Задача: Есть папка А с файлами 1,2,3 и...

Перенос некоторого количества файлов в другую директорию
Привет, ребят. Помогите, пожалуйста. Имеется, например, папка с 1500 файлами, необходимо чтобы...

Копирование из одной папки в другую случайных неповторяющихся файлов
дорогие форумчане, необходимо создать батник, который копирует из папки с файлами (более 1000 штук)...

12
alexsamos33
620 / 600 / 325
Регистрация: 26.04.2014
Сообщений: 1,976
26.08.2015, 15:05 2
Цитата Сообщение от Ctulhu Посмотреть сообщение
Подскажите пожалуйста направление в котором стоит двигаться.
Создать переменную со счётчиком, куда записывать количество перемещённых файлов.
Потом через условие if проверять число:
Visual Basic
1
2
3
4
5
6
7
If count >= 1 And count <= 10 Then
    ' перемещаем в папку Б
Else
    If count >= 11 And count <= 20 Then
        ' перемещаем в папку В
    End If
End If
0
Ctulhu
0 / 0 / 0
Регистрация: 26.08.2015
Сообщений: 3
26.08.2015, 15:22  [ТС] 3
Спасибо за скорый ответ! Забыл указать что директорий, куда перемещаются файлы может быть более нескольких десятков. Можете подсказать как из n-ого количества файлов скопировать именно первые 10? Идея такая. Брать первые 10 файлов (порцию), копировать их в папку А. Затем брать следующую порцию файлов в папку B. И так далее. Разумнее, наверное, даже не копировать, а перемещать эти файлы, чтобы в цикле не пришлось их повторно перебирать.
0
alexsamos33
620 / 600 / 325
Регистрация: 26.04.2014
Сообщений: 1,976
26.08.2015, 15:23 4
Цитата Сообщение от Ctulhu Посмотреть сообщение
Спасибо за скорый ответ! Забыл указать что директорий, куда перемещаются файлы может быть более нескольких десятков. Можете подсказать как из n-ого количества файлов скопировать именно первые 10? Идея такая. Брать первые 10 файлов (порцию), копировать их в папку А. Затем брать следующую порцию файлов в папку B. И так далее. Разумнее, наверное, даже не копировать, а перемещать эти файлы, чтобы в цикле не пришлось их повторно перебирать.
Через цикл For лучше сделать.
0
26.08.2015, 15:23
Ctulhu
0 / 0 / 0
Регистрация: 26.08.2015
Сообщений: 3
27.08.2015, 13:08  [ТС] 5
Я тоже пришел к этому мнению. Получилось что то типа этого. Вопрос в том, как выбрать именно первые 10 файлов. Так то они не пронумерованы...
Windows Batch file
1
2
3
4
5
6
7
8
9
10
@echo off
SetLocal enabledelayedexpansion
set 
 
for /f "delims=" %%a in ('dir /b /a "C:\Work\Bat\A\*"') do (
if not "!flag!"=="10" (
copy /y "C:\Work\Bat\03\%%a" "C:\Work\Bat\B\"
set /a flag+=1
 
))

Добавлено через 49 секунд
Я тоже пришел к этому мнению. Получилось что то типа этого. Вопрос в том, как выбрать именно первые 10 файлов. Так то они не пронумерованы...
Windows Batch file
1
2
3
4
5
6
7
8
9
10
@echo off
SetLocal enabledelayedexpansion
set 
 
for /f "delims=" %%a in ('dir /b /a "C:\Work\Bat\A\*"') do (
if not "!flag!"=="10" (
copy /y "C:\Work\Bat\A\%%a" "C:\Work\Bat\B\"
set /a flag+=1
 
))

Добавлено через 1 минуту
Извиняюсь за путаницу. В первом случае указал не ту папку в операторе copy. не разобрался еще как тут редактировать сообщения.

Добавлено через 21 час 8 минут
Пришел к такому решению. Может кому пригодится. Тему можно закрыть, спасибо за помощь.
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
rem в моем случае помог ключ /ON -сортировка по имени . Как выяснилось, имена из чисел тоже сортируются. 
SET flag=0
for /F %%i in ('dir /ON /b /A-D C:\Work\Bat\A\*.*') do call :next C:\Work\Bat\A\%%i
goto :EOF
 
rem COUNT = задаем нужное кол-во перемещаемых файлов. 
:next
if [%flag%]==[%COUNT%] goto :EOF
 
SET /A flag=%flag%+1
move %1 C:\Work\Bat\B
0
ArsMaxim
0 / 0 / 0
Регистрация: 19.12.2015
Сообщений: 4
22.03.2016, 21:51 6
Здравствуйте Уважаемые!
Очень нужен этот скрипт...
Вот только не могу понять, куда именно вставлять число кол-ва перемещаемых файлов?
Ткните носом пожалуйста!
0
sov44
1761 / 745 / 128
Регистрация: 09.04.2011
Сообщений: 1,319
22.03.2016, 22:53 7
ArsMaxim, по последнему коду, количество перемещённых файлов задаётся в строке 8, например переместить 5 файлов
Windows Batch file
1
if [%flag%]==[5] goto :EOF
1
ComSpec
3411 / 1955 / 628
Регистрация: 26.02.2014
Сообщений: 1,457
22.03.2016, 22:55 8
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@echo off
setlocal
 
:: Устанавливаем нужное количество файлов для перемещения:
set n=10
 
:: Папка, из которой перемещаем файлы:
set "src=C:\Test 1"
 
:: Папка, в которую перемещаем файлы:
set "dest=C:\Test 2"
 
for /f "delims=" %%i in ('2^>nul dir /on /b /a-d "%src%"') do call :sub "%src%\%%i"
 
:exit
endlocal
goto :eof
 
:sub
     set /a i+=1
     if %i% leq %n% (move /y "%~1" "%dest%") else goto :exit
     exit /b 0
1
ArsMaxim
0 / 0 / 0
Регистрация: 19.12.2015
Сообщений: 4
23.03.2016, 00:37 9
Спасибо ComSpec!
Получилось!
Подскажите пожалуйста ещё...
Нужно, чтоб скрипт можно было закинуть в папку с файлами или рядом с папкой в которой файлы для сортировки,
запустить скрипт и чтоб он создавал папки в которые будет раскидывать файлы по указанному в скрипте кол-ву!?
А так получается, если нет конечной папки скрипт создаёт что-то не понятное...

Спасибо!
0
ComSpec
3411 / 1955 / 628
Регистрация: 26.02.2014
Сообщений: 1,457
23.03.2016, 03:06 10
Цитата Сообщение от ArsMaxim Посмотреть сообщение
Нужно, чтоб скрипт можно было закинуть в папку,.. в которой файлы для сортировки, запустить скрипт, и чтоб он создавал папки, в которые будет раскидывать файлы по указанному в скрипте кол-ву!


Код:

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@echo off
setlocal
 
:: Устанавливаем нужное количество файлов для перемещения:
set n=5
 
for /f "delims=" %%i in ('2^>nul dir /on /b /a-d-h-s') do if "%%i" neq "%~nx0" call :sub "%%i"
 
endlocal
pause>nul
goto :eof
 
:sub
    set /a i+=1
    if %i% equ 1 set /a j+=1
    2>nul md %j%
    2>nul move /y "%~1" %j%\
    if %i% equ %n% set i=
    exit /b 0
.

Созданные папки будут иметь имена "1", "2", "3" и т. д.
1
ArsMaxim
0 / 0 / 0
Регистрация: 19.12.2015
Сообщений: 4
23.03.2016, 08:47 11
ComSpec Спасибо Большое!

Занимаюсь парсингом контента...
(Вдруг буду чем полезен, буду рад!
Скайп такой-же как здесь логин!)

Часто бывает, что нужно раскидать десятки тысяч, а то и сотни тысяч файлов по папкам...
А бывает, что стандартный проводник, даже не может открыть папку из-за кол-ва в ней файлов.

Премного Благодарен!
0
ArsMaxim
0 / 0 / 0
Регистрация: 19.12.2015
Сообщений: 4
24.03.2016, 16:59 12
Блин, да запары у меня с этим скриптом...
Есть такой, чтоб рядом с папкой положить, запустить и он, эту рядом папку, размельчил на указанное кол-во...
Признателен буду, Очень!
Чем смогу, - отблагодарю!
Спасибо!
0
volodin661
2204 / 990 / 166
Регистрация: 10.12.2013
Сообщений: 3,313
25.03.2016, 04:06 13
Цитата Сообщение от ArsMaxim Посмотреть сообщение
Признателен буду, Очень!
Чем смогу, - отблагодарю!
если не получается в этой ветке,
спроси в других,
их тут как в бразилии педров:
bash(cygwin), haskell, java, perl, powershell, python, ...
0
25.03.2016, 04:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.03.2016, 04:06

Как переместить несколько заданных файлов из одной папки в другую?
Всем привет! Допустим, мне необходимо переместить файлы 1.pdf и 2.pdf в другую папку, как это...

Перемещение всех файлов из каждой подпапки одной папки в другую папку и их переименование
Добрый день! Прошу помощи, нужен батник или скрипт, который перемещал бы файлы из...

Копирование файлов заданного типа с помощью команды copy из одной папки в другую
Вариант 3 Создайте командный файл копирования файлов заданного типа (с помощью ко- манды copy) из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru