С Новым годом! Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/29: Рейтинг темы: голосов - 29, средняя оценка - 4.55
 Аватар для Ronaldoo
6 / 5 / 2
Регистрация: 27.03.2013
Сообщений: 136

Создать в заданной директории поддиректории, имена которых совпадают с типами файлов, находящихся в ней

20.03.2014, 15:56. Показов 6108. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Создать в заданной директории поддиректории, имена которых совпадают с типами файлов находящихся в заданной директории и переместить в них соответствующие файлы.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.03.2014, 15:56
Ответы с готовыми решениями:

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

Как считать имена файлов из заданной директории и напечатать их?
Нижеприведенный код зависает: vFolder = 'E:ASPDictionary ' set fsObject = Server.CreateObject('Scripting.FileSystemObject') ...

В определенной директории, прочитать все имена файлов и создать папки, с названиями этих файлов
В общем Моя задача, в определенной директории, прочитать все имена файлов и создать папки, с названиями этих файлов. Вот код: namespace...

12
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18030 / 7733 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
20.03.2014, 16:53
Лучший ответ Сообщение было отмечено vavun как решение

Решение

Bash
1
2
3
4
5
6
7
8
9
10
11
12
@echo off
SetLocal EnableExtensions
 
set sFolder=c:\temp
 
cd /d "%sFolder%" || exit /B 1
For %%a in (*) do (
  if "%%~fa" neq "%~f0" (
    if not Defined Folder.%~xa (set Folder.%%~xa=exist& md "%%~xa" 2>NUL)
    move "%%a" "%%~xa"
))
pause
Код не будет обрабатывать скрытые файлы, подкаталоги, и выдаст ошибку при попытке переместить файл, расширение которого будет содержать пробел.
2
0 / 0 / 0
Регистрация: 31.10.2016
Сообщений: 15
31.10.2016, 18:36
Задача почти такая же:

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

но данный код не работает, почему не понимаю.



если честно, хотелось бы понять как что и куда, но толковой инфы найти не могу.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
31.10.2016, 19:18
Лучший ответ Сообщение было отмечено vavun как решение

Решение

lomag,
Переместит файлы и с пробелом в расширении:
Windows Batch file
1
2
3
4
5
6
@echo off
setlocal enabledelayedexpansion
set "in=papka_in"
set "out=papka_out"
for /f "delims=" %%a in ('dir /a-d /b /s "%in%"') do (set "rf=%%~xa"& if not exist "%out%\!rf:~1!" md "%out%\!rf:~1!")& move "%%~a" "%out%\!rf:~1!"
exit
Добавлено через 3 минуты
Прямо в командной строке пытаетесь выполнять?
1
0 / 0 / 0
Регистрация: 31.10.2016
Сообщений: 15
31.10.2016, 23:35
В командной строке - потому что по описанию моей лаборки ВСЁ выполняется через командную строку.
0
Любознательный
 Аватар для YuS_2
7404 / 2254 / 360
Регистрация: 10.03.2016
Сообщений: 5,213
01.11.2016, 10:30
lomag, вы ,видимо, здесь зарегистрировались, чтобы за вас сделали лабораторную работу?

Вот вам абсолютно толковый ответ, с абсолютно толковой инфой:
cmd /?
set /?
cd /?
for /?
if /?
md /?
move /?
и
Литература: статьи, книги, лекции, описания команд по BAT/CMD

- учитесь студенты и знания к вам придут - иначе, никак.
2
0 / 0 / 0
Регистрация: 31.10.2016
Сообщений: 15
02.11.2016, 10:15
Да я действительно зарегистрировался здесь, для возможного нахождения ответов на вопросы которые не могу понять сам.

спасибо, я по изучаю ещё раз команды cmd
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18030 / 7733 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
03.11.2016, 21:48
Цитата Сообщение от lomag Посмотреть сообщение
В командной строке - потому что по описанию моей лаборки ВСЁ выполняется через командную строку.
Батник он тоже выполняется в командной строке, так что такие детали лучше уточнять у преподавателя.
0
0 / 0 / 0
Регистрация: 31.10.2016
Сообщений: 15
07.11.2016, 10:17
Сударь я б наверное не лез сюда , было бы у кого спросить, а так - заочное отделение - оно такое)
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
07.11.2016, 13:07
Цитата Сообщение от lomag Посмотреть сообщение
я б наверное не лез сюда
во-первых вам уже не один человек сказал, что если идти в автомагазин, то надо знать и что покупать и как оно выглядит и очень желательно уметь установить самому
Цитата Сообщение от lomag Посмотреть сообщение
было бы у кого спросить
спрашивают по-человечески, если хотят помощи, не хамят
в вашем вопросе нет условия выполнять из командной строки, но и это не проблема, проблема в том что вы не отличаете командную строку от bat файла, который можно выполнять запустив как непостредственно так и из командной строки
Цитата Сообщение от lomag Посмотреть сообщение
заочное отделение - оно такое
ха-ха
а если я даже на заочном не учился, все сам постигал, ну? Просто мне это интересно и надо, а вам...

Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@echo off
set "d=%Userprofile%\Desktop\Papka"
set "rf="txt" "docx" "xlsx""
for %%a in (%rf%) do (
 call :l "%%~a"
)
exit
 
:l
pushd "%d%"
 for /f "delims=" %%b in ('2^>nul dir /a-d /b ^| findstr /r /c:".%~1$"') do (
  if not exist "%~1" (
   md "%~1"
  )
 )
popd
exit /b
.
1
0 / 0 / 0
Регистрация: 31.10.2016
Сообщений: 15
07.11.2016, 18:21
Спасибо большое alpap
... вы знаете кому то легко даётся , кому то приходится продираться через "дебри"...
Буду очень благодарен если ткнёте пальцем в литературу так как не понимаю принцип этой вот строчки:

Windows Batch file
1
2
3
4
5
pushd "%d%"
 for /f "delims=" %%b in ('2^>nul dir /a-d /b ^| findstr /r /c:".%~1$"') do (
  if not exist "%~1" (
   md "%~1"
  )
... а разобраться хочется

Сам перелопатил уже кучу литературы, везде простейшие примеры и подобных вещей нет...
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
07.11.2016, 18:36
Там 2 строчки и 7 команд, примитивно объяснить не получиться, поверхностно:
pushd "%d%" - переходим в директорию "%d%"
перебираем в цикле в этой директории имена всех файлов /a-d /b (зануляя вывод ошибок, если нет файлов 2>nul)
(передаем вывод цикла в поиск) ищем в выводе цикла строки, заканчивающиеся на /c:".%~1$", где %~1 первым параметром до этого мы передаем заданное расширение по-очереди из другого цикла
потом проверяем, если нет папки с таким именем (этого расширения) - создаем ее
более досконально поймете, когда неплохо изучите команды и это вам уже советовал выше YuS_2

Добавлено через 2 минуты
Цитата Сообщение от lomag Посмотреть сообщение
ткнёте пальцем в литературу
некуда тыкать, здесь вы находитесь в эпицентре этой литературы.
1
0 / 0 / 0
Регистрация: 31.10.2016
Сообщений: 15
10.11.2016, 10:08
alpap, понятно.... спасибо, буду дальше разбираться)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.11.2016, 10:08
Помогаю со студенческими работами здесь

Написать функцию, выводящую имена файлов текущей директории по заданной маске
написать функцию, выводящую на экран(в файл) имена файлов в текущей директории по заданной параметром маске, возвращающую 0, если файлов не...

Вывести список всех файлов из указанной директории, имена которых не соответствуют шаблону имени 8.3
Вывести список всех файлов из указанной директории, имена которых не соответствуют шаблону имени 8.3. Объясню, нужно вывести список файлов,...

Вывести список всех файлов из указанной директории, имена которых не соответствуют шаблону имени 8.3
Разработать утилиту. Оформить ее как командный (процедурный) файл. Задание:Вывести список всех файлов из указанной директории, имена...

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

Вывести список всех файлов из указанной директории, имена которых содержат русские буквы
Здравствуйте! Есть такая задача: Вывести список всех файлов из указанной директории, имена которых содержат русские буквы. У меня...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Old Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru