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

Записать список всех файлов из каталога К, имена которых заканчиваются на цифру, в файл F

28.04.2013, 19:02. Показов 19893. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста зделать 1 задание есть небольшие догадки но он записывает не то что нужно в файле.

C:\Лаба\K>dir /B *1.* *2.* *3.* *4.* *5.* *6.* *7.* *8.* *9.* *0.* > F.txt

Вот это задание Записать список всех файлов из каталога К в файл F (имя файла заканчивается на цифру).

 Комментарий модератора 
bigbrather59, предупреждение за неинформативное название темы и за размещение нескольких вопросов в 1 теме.
Читаем Правила форума. !!!
Миниатюры
Записать список всех файлов из каталога К, имена которых заканчиваются на цифру, в файл F  
Изображения
 
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.04.2013, 19:02
Ответы с готовыми решениями:

Записать имена и размер всех файлов каталога К в файл F (выбрать файлы с размером менее 100 Kb)
Записать имена и размер всех файлов каталога К в файл F (выбрать файлы с размером менее 100 Kb). Т.е. у меня есть файлы 2 erfsfs - 42 кб ...

Удаление из заданного каталога всех текстовых файлов, имена которых содержат 4 или 5 символов
Помогите сделать задачу на командной строке win. Как удалять файлы я знаю, а вот как определить сколько символов в имени файла нет....

Вывести на экран имена файлов из определённого каталога, начинающиеся на цифру
Вывести на экран имена файлов из каталога К (имя файла начинается на цифру); @echo off dir E:\K /B /P *.* pause > nul

14
1 / 1 / 0
Регистрация: 12.03.2013
Сообщений: 17
01.05.2013, 11:31  [ТС]
Я пробывал копировать сначало у меня не получилось он все файлы копирует а мне нужно только те которые содержат 4-5 символов как это проверять? В командной строке прописать как это? подскажите?
Допустим если удалить то так прописал но в командной строке он удалил все файлы в каталоге К1
Bash
1
2
C:\Windows\system32>DEL C:\Лаба\K1 *1.*, *2.*, *3.*, *4.* , *5.* , *6.* , *7.*,
*8.*, *9.*
Как к примеру сделать чтоб файлы удалил только с 4-5 цифрами? Дайте ссылку почитать как это прописать? Помогите пожалуйста?
1
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
01.05.2013, 12:46
Лучший ответ Сообщение было отмечено как решение

Решение

вроде про 5 символов так (не уверен):
Bash
1
del *????.*
Добавлено через 52 секунды
Цитата Сообщение от bigbrather59 Посмотреть сообщение
Как к примеру сделать чтоб файлы удалил только с 4-5 цифрами? Дайте ссылку почитать как это прописать? Помогите пожалуйста?
Если 4-5 именно цифер, то использовать регулярные выражения (сам в них не силен)
3
1 / 1 / 0
Регистрация: 12.03.2013
Сообщений: 17
01.05.2013, 17:53  [ТС]
А как записать интервал от 0-9? вывести на экран имена файлов из каталога К (имя файла заканчивается на цифру)?
0
1 / 1 / 0
Регистрация: 12.03.2013
Сообщений: 17
01.05.2013, 17:56  [ТС]
Как это записать в командной строке? Подскажите пожалуйста? Если только перечислять их все *1.* ... *9.*? Так?
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18031 / 7734 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
01.05.2013, 19:31
Лучший ответ Сообщение было отмечено как решение

Решение

По таким условиям:
1) от 4 до 5 символов в имени файла.
2) Последний символ имени файла - цифра.
3) Расширение - любое.

Bash
1
2
3
4
5
6
7
@echo off
Set Folder=C:\Лаба\K
for /f "delims=" %%a in ('dir /b /a-d "%Folder%\*"') do (
  echo %%~na|>nul findstr /R "^...[0-9]$"&& echo %%a||(
  echo %%~na|>nul findstr /R "^....[0-9]$"&& echo %%a
))
pause
Добавлено через 8 минут
Если условия такие:
1) 1 или более символов в имени файла.
2) Имя файла заканчивается на цифру.
3) Расширение имени файла любое, но имеет хотя бы 1 символ.

то можно проще:
Bash
1
dir /b /a-d "C:\Лаба\K\*"|findstr /R ".*[0-9]..*$"
Добавлено через 5 минут
FraidZZ, просто в ком. строке ? - это 0 или 1 любой символ.
То есть ????? - будет от 0 до 5 символов.
Тоже хороший способ фильтрации.
3
1 / 1 / 0
Регистрация: 12.03.2013
Сообщений: 17
02.05.2013, 18:35  [ТС]
Огномное спасибо
Bash
1
dir /b /a-d "C:\Лаба\K\*"|findstr /R ".*[0-9]..*$"
помогло все работает!
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18031 / 7734 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
09.05.2013, 02:51
Забавно, не могу объяснить, почему так происходит.
Миниатюры
Записать список всех файлов из каталога К, имена которых заканчиваются на цифру, в файл F  
0
1 / 1 / 0
Регистрация: 12.03.2013
Сообщений: 17
09.05.2013, 12:22  [ТС]
Уважаемые пользователи форума. С праздником! Подскажите как в командной строке прописать чтобы из каталога К1 копировал в каталог К2 файлы имя которых имеет 4-5 символов. Т.е. если имя файла состоит из 3 символов (вфы.*) или 1 (g.*) или 2 (аы.*) или больше 5 символов то они бы не копировались.

Bash
1
C:\Windows\system32>copy C:\Лаба\K1\????.* C:\Лаба\K2\
если так прописываю то он копирует и те которые с 2 3 1 символами

 Комментарий модератора 
Дублирование тем запрещено!
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
09.05.2013, 12:54
Цитата Сообщение от bigbrather59 Посмотреть сообщение
если так прописываю то он копирует и те которые с 2 3 1 символами
поскольку вопрос - 1 или 0 символов

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@echo off
setlocal enabledelayedexpansion
if not exist K2\ md K2
for %%A IN (*) DO (
 call :strlen %%~nA
 if !_strlen! LEQ 5 (
  if !_strlen! GEQ 4 (
   copy "%%~A" K2\ >nul 2>nul
  )
 )
)
echo.ALL
pause>nul
exit /b
:strlen
setlocal enabledelayedexpansion
set count=0
set str=%~1
:ag
if "!str:~%count%,1!"=="" (goto :out)
set /a count=!count!+1
goto :ag
:out
endlocal&set _strlen=%count%
exit /b
Проверь
1
1 / 1 / 0
Регистрация: 12.03.2013
Сообщений: 17
09.05.2013, 12:56  [ТС]
Это батником или в командной строке?
0
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
09.05.2013, 14:47
Цитата Сообщение от bigbrather59 Посмотреть сообщение
Это батником или в командной строке?
Это ТОЛЬКО батником

Добавлено через 19 секунд
Здесь же метки, какая командная строка?
0
1 / 1 / 0
Регистрация: 12.03.2013
Сообщений: 17
09.05.2013, 15:55  [ТС]
Цитата Сообщение от FraidZZ Посмотреть сообщение
Это ТОЛЬКО батником

Добавлено через 19 секунд
Здесь же метки, какая командная строка?
А как это сделать в командной строке?

Цитата Сообщение от bigbrather59 Посмотреть сообщение
Уважаемые пользователи форума. С праздником! Подскажите как в командной строке прописать чтобы из каталога К1 копировал в каталог К2 файлы имя которых имеет 4-5 символов. Т.е. если имя файла состоит из 3 символов (вфы.*) или 1 (g.*) или 2 (аы.*) или больше 5 символов то они бы не копировались.
Мне нужно это реализовать в командной строке? Как это сделать?
0
1 / 1 / 0
Регистрация: 12.03.2013
Сообщений: 17
09.05.2013, 19:58  [ТС]
Уважаемые пользователи форума. С праздником!
Как копировать все файлы из каталога К1 в К2 (имя имеет 4-5 символа)?
Т.е. если имя файла состоит из 3 символов (вфы.*) или 1 (g.*) или 2 (аы.*) или больше 5 символов то они бы не копировались.

Сделать это нужно не батником а реализовать в командной строке!!!

Пользователь форума плд именем FraidZZ написал следующее.

Цитата Сообщение от FraidZZ Посмотреть сообщение

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
@echo off
setlocal enabledelayedexpansion
if not exist K2\ md K2
for %%A IN (*) DO (
 call :strlen %%~nA
 if !_strlen! LEQ 5 (
  if !_strlen! GEQ 4 (
   copy "%%~A" K2\ >nul 2>nul
  )
 )
)
echo.ALL
pause>nul
exit /b
:strlen
setlocal enabledelayedexpansion
set count=0
set str=%~1
:ag
if "!str:~%count%,1!"=="" (goto :out)
set /a count=!count!+1
goto :ag
:out
endlocal&set _strlen=%count%
exit /b
Проверь
Это ТОЛЬКО батником
Мне же нужно эту процедуру реализовать не батником а в командной строке как это будет выглядеть?


Bash
1
C:\Windows\system32>copy C:\Лаба\K1\????.* C:\Лаба\K2\
если так прописываю то он копирует и те которые с 2 3 1 символами
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18031 / 7734 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
09.05.2013, 20:39
Bash
1
for /f "delims=" %a in ('dir /b /a-d "C:\Лаба\K1\*"') do echo %~na|findstr /R "^....\..*$"&& copy "C:\Лаба\K1\%a" "C:\Лаба\K2\"|| echo %~na|findstr /R "^.....\..*$"&& copy "C:\Лаба\K1\%a" "C:\Лаба\K2\"
Добавлено через 6 минут
Можно в 3 строки. Сначала формируем список файлов для копирования.
Список будет создаваться в отдельном файле. Затем читаем этот файл и по списку копируем.

Bash
1
2
3
dir /b /a-d "C:\Лаба\K1\*"| findstr /R "^....\..*$"> FILELIST.txt
dir /b /a-d "C:\Лаба\K1\*"| findstr /R "^.....\..*$">> FILELIST.txt
for /f "delims=" %a in (FILELIST.txt) do copy "C:\Лаба\K1\%a" "C:\Лаба\K2\"
Добавлено через 9 минут
Можно через проверку наличия 3-го и одновременного отсутствия 6-го символа:

Bash
1
cmd /V:ON /C "cd /d "C:\Лаба\K1"& for %a in (*) do set FN=%~na& if "!FN:~0,2!" neq "" if "!FN:~0,5!"=="" copy "%a" C:\Лаба\K2"
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.05.2013, 20:39
Помогаю со студенческими работами здесь

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

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

Записать в текстовый файл даты создания и имена файлов, размер которых меньше заданного
Добрый вечер, можно пожалуйста попросить Вас решить задачку, кому не сложно. Буду очень благодарен. Можно еще попросить Вас писать код...

Отсортировать список файлов указанного каталога по датам создания и записать его в указанный файл
Создать командный файл, который сортирует список файлов указанного каталога по датам создания и записывает его в указанный файл. Выводит на...

Построить файл из строк всех файлов с указанным расширением текущего каталога, в которых встречается многоточи
9. Построить файл из строк всех файлов с указанным расширением текущего каталога, в которых встречается многоточие.


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru