Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
0 / 0 / 0
Регистрация: 20.09.2018
Сообщений: 15
1

Раскидать файлы по папкам CMD/BAT

20.09.2018, 15:40. Показов 2437. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, Уважаемые. Помогите новичку.

Есть два каталога D:\KAT1\FOTO и D:\KAT2\IN

В каталог D:\KAT2\IN периодически выгружаются файлы вида
22_houhvb_20180904_1.jpg
77513_nfjhuif_20180812_2.jpg

Необходимо раскидать файлы по каталогам
D:\KAT1\FOTO\22
\77513
Если каталога нет, создать с именем номера файла до первого знака "_"
(Вложенных папок в исходных каталогах нет)

Заранее благодарю за помощь.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.09.2018, 15:40
Ответы с готовыми решениями:

Разложить файлы по папкам с именами, являющимися частью имени файла - CMD/BAT
Привет. Помогите пожалуйста!!! Есть WIN7 папка F:\PIC в ней 4000 фото =) Файлы:...

Раскидать файлы по папкам согласно списка
Помогите, пожалуйста, если возможно. Есть порядка 15 тыс. файлов в одной папке. И есть путь в виде...

Раскидать файлы по папкам, соответствующим именам файлов
Задача: есть папка в которой свалены документы с почты. Постоянно подступают новые файлы и хочется...

Раскидать файлы по папкам, соответствующим датам создания этих файлов
Задача: есть папка (с неизвесной глубиной вложенных папок) в которой свалены фотки (ну очень много...

6
4334 / 2124 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
20.09.2018, 23:33 2
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
@echo off
set "d1=D:\KAT2\IN"
set "d2=D:\KAT1\FOTO"
 
pushd "%d1%"
 for /f "tokens=1* delims=_" %%a in ('dir /a-d/b "*.jpg"') do call :mv "%%a_%%b" "%%a"
popd
pause& exit
 
:mv
 if not exist "%d2%\%~2" md "%d2%\%~2"
 >nul move "%~1" "%d2%\%~2"
exit /b
2
0 / 0 / 0
Регистрация: 20.09.2018
Сообщений: 15
21.09.2018, 10:24  [ТС] 3
Благодарствую. Работает.
Как бы еще прикрутить лог с дата/время, создание директории, перемещение файлов (лог и batch файл размещены в каталоге set "d3=D:\FIDO")?
0
4334 / 2124 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
21.09.2018, 11:05 4
Windows Batch file
1
2
3
4
5
6
7
8
...
:mv
 setlocal enabledelayedexpansion
  if not exist "%d2%\%~2" md "%d2%\%~2"
  >nul move "%~1" "%d2%\%~2"
  >>log.log (echo [!date!_!time:~0,8!] файл: "%~1" перемещен в директорию: "%d2%\%~2")
 endlocal
exit /b
0
0 / 0 / 0
Регистрация: 20.09.2018
Сообщений: 15
21.09.2018, 11:58  [ТС] 5
чтобы записать в нужной кодировке (866) лог и сохранить в нужную директорию d3, так правильно будет?
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
@echo off
set "d1=D:\KAT2\IN"
set "d2=D:\KAT1\FOTO"
set "d3=D:\FIDO"
...
 :mv
 chcp 866 1>nul 
 setlocal enabledelayedexpansion
  if not exist "%d2%\%~2" md "%d2%\%~2"
  >nul move "%~1" "%d2%\%~2"
  >>%d3%\log.log (echo [!date!_!time:~0,8!] файл: "%~1" перемещен в директорию: "%d2%\%~2")
 endlocal
exit /b
0
4334 / 2124 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
22.09.2018, 03:09 6
файл log.log создать и сохранить в 866 и код bat в 866,
тогда строка: chcp 866 1>nul не нужна, а вот замена штатного виндового блокнота для действий выше, как раз нужна
а если делаете все в 1251, то нужна строка: >nul chcp 1251, но писать ее надо вначале, после @echo ff
0
4334 / 2124 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
22.09.2018, 16:11 7
а если кириллицы нет ни в путях ни в именах и инфу в лог будете заносить на en, то можете не париться с кодировками.
0
22.09.2018, 16:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.09.2018, 16:11
Помогаю со студенческими работами здесь

Не запускаются ни bat, ни cmd файлы...
Стоит WinXP SP3. В общем захожу в любой bat и cmd файл, а мне все время пишет: Windows не удалось...

Раскидать по папкам с переименованием файлов по маске
Добрый день. Помогите пожалуйста. Необходимо общую кучу файлов типа yymmdd_000_имяфайла.xls...

Batch (CMD/BAT) несколько заданий на CMD/BAT
1.Напишите bat файл на диске с ,который будет искать на всех дисках файлы с расширением...

Как запустить bat файл командой cmd /k передав bat файлу дополнительные аргументы
Как передать bat файлу, запускаемому через cmd /k аргументы? Это был первый вопрос, а теперь вот...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru