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

Поиск одинаковых файлов

05.06.2021, 12:16. Показов 1860. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Итак, решаю задачу и в ходе решения возникла проблема. У меня есть файл в котором командой dir *.* /a-d/b/s>filelist.txt были записаны все файлы данной директории. Мне нужно найти все одинаковые файлы (имена могут быть разными) в данной директории и ее поддиректориях и вывести в формате

1.
Файл_1
Файл_2
...

2.
Файл_3
Файл_4
...

...

где Файл_1 - это полный путь файла

Для этого я хочу пройтись по файлу двумя циклами for. Но мне выдается ошибка на моменте сравнения. Дело в том, что если в имени файла присутствует пробел, то он то ли строку не считывает до конца, то ли на моменте сравнения не может считать файл.

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
23
24
25
26
27
28
29
30
@echo off
setlocal ENABLEDELAYEDEXPANSION
cd %1
 
if exist List.txt del /q List.txt
if exist filelist.txt del /q filelist.txt
 
Set Dir=%CD%
 
Set /a Kol=0
 
 
dir *.* /a-d/b/s>filelist.txt
 
for /f "usebackq delims=" %%S in ('type filelist.txt') do (
 
for /f "usebackq delims=" %%V in ('type filelist.txt') do (
 
 
cd %%S
 
fc %%S %%V > nul
If not errorlevel 1 ( 
echo 1 - %%S>> %Dir%\List.txt
echo 2 - %%V>> %Dir%\List.txt
) 
 
)
 
)
у меня есть файл с именем "toje caps.doc", в командной строке появляется ошибка

FC: cannot open C:\USERS\USW\MUSIC\NEW\234\TOJE - No such file or folder

Вывод, как видите, я пока не настраивал как по условию.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.06.2021, 12:16
Ответы с готовыми решениями:

Поиск одинаковых файлов
Все привет!!! как вы поняли нужен батник, который сканит систему, находит одинаковые файлы (размер и название) и складывает это все в txt...

Поиск одинаковых имён файлов в двух папках
Доброго времени суток, суть такова: Нужно реализовать bat файл, который при запуске будет искать одинаковые имена в двух разных папках и...

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

5
6993 / 2879 / 1108
Регистрация: 06.06.2017
Сообщений: 9,774
05.06.2021, 13:46
С fc — долго. С fdf быстрее:
Windows Batch file
1
>nul fdf -R C:\Test -O logfile.log
Вывод потом уже проще причесать.
0
 Аватар для b0gus
741 / 339 / 134
Регистрация: 17.03.2014
Сообщений: 842
05.06.2021, 15:10
Цитата Сообщение от angorr6 Посмотреть сообщение
если в имени файла присутствует пробел
попробуйте 22-ю строку так записать:
Windows Batch file
22
>nul fc "%%S" "%%V"
0
0 / 0 / 0
Регистрация: 10.04.2020
Сообщений: 4
06.06.2021, 22:23  [ТС]
Цитата Сообщение от b0gus Посмотреть сообщение
попробуйте 22-ю строку так записать:
Windows Batch file
22
>nul fc "%%S" "%%V"
Не вышло. Пишет Access is denied в цикле. Все еще в поисках решения
0
0 / 0 / 0
Регистрация: 10.04.2020
Сообщений: 4
07.06.2021, 21:49  [ТС]
с ковычками - операция прошла
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
23
24
25
26
27
28
29
30
31
@echo off
setlocal ENABLEDELAYEDEXPANSION
cd %1
 
if exist List.txt del /q List.txt
if exist filelist.txt del /q filelist.txt
 
Set Dir=%CD%
 
Set /a Kol=0
 
 
dir *.* /a-d/b/s>filelist.txt
 
for /f "usebackq delims=" %%S in ('type filelist.txt') do (
set /a Kol+=1
echo *** %K% >> L1.txt
for /f "usebackq delims=" %%V in ('type filelist.txt') do (
 
 
cd %%S
 
fc "%%S" "%%V" > nul
If not errorlevel 1 ( 
echo 1 - %%S>> %Dir%\List.txt
echo 2 - %%V>> %Dir%\List.txt
) 
 
)
 
)
хочу получить количество строк в файле filelist используя счетчик Kol, для проверки вывожу значение счетчика в файл L1
но ничего не получается - отображается значение равное 0
подскажите в чем дело?

Добавлено через 30 минут
в 17 строке опечатка не %K% а %Kol%
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
07.06.2021, 23:18
Цитата Сообщение от angorr6 Посмотреть сообщение
получить количество строк в файле filelist
Windows Batch file
1
2
3
4
5
:: Число строк в файле
@echo off
<"filelist.txt" (for /f %%a in ('find /c /v ""') do set numl=%%a)
echo %numl%
pause
Добавлено через 1 час 8 минут
вероятно захочется и одного и другого, т.е. и строки видеть и потом еще их количество получить:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
@echo off
set numl=
<file.txt (for /f "delims=" %%a in ('find /c /v ""^& more') do (
    if not defined numl (
      set numl=%%a
    ) else (
      echo %%a
    )
  )
)
echo %numl%
pause
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.06.2021, 23:18
Помогаю со студенческими работами здесь

Поиск и удаление одинаковых файлов
Посоветуйте приличную мощную программку для поиска и удаления одинаковых файлов. А то попадаются какие-то одни уродские.

Поиск одинаковых файлов в директориях
Задание: Найти совпадающие по содержимому файлы в двух заданных каталогах (аргументы 1 и 2 командной строки) и всех их подкаталогах....

Поиск одинаковых файлов в директории
Привет всем, прошу помощи в освоении C# Я написал приложение, которое показывает на консоль одинаковые файлы, сравнивая их хэш-суммы и...

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

Поиск одинаковых файлов PHP
Привет всем,подскажите,как в папке можно искать одинаковые файлы?Искать нужно по содержимому.Файлы могут быть разных форматов.


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru