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

Сравнение и удаление файлов и папок

22.03.2017, 02:22. Показов 8142. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
всю голову поломал с этой задачей
нужен bat или cmd файл который закидывается в папку PE3EPB_1 и проверяет все отличия файлов и папок из папки лежащий в другом месте PE3EPB_2 и если находит лишние то удаляет их из папки PE3EPB_2 (лишние файлы и папки)

Добавлено через 9 минут
забыл сказать что в папке PE3EPB_1 куча файлов и папок и в папках тоже куча файлов и папок так что нужно что то что проверяло бы все и вся в этой папке
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.03.2017, 02:22
Ответы с готовыми решениями:

Сравнение файлов в папке и создание папок с именами файлов
Нужно пройтись по папке, если есть картинка с названием, но нет папки с таким же названием, создать папку с названием картинки и перенести...

Сравнение двух папок с файлами и удаление дубликатов
Добрый день Уважаемые Гуру, вопрос конечно изъезженный, но никак не могу сообразить как сделать Имеется 2 папки: К примеру папка One и...

Сравнение двух папок с копированием измененных файлов
Всем привет! Дано 2 папки с файлами и подпапками. F:\Folder1 - рабочая папка F:\Folder2 - папка в которую делается копия Необходимо...

16
 Аватар для ZoOoO
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
22.03.2017, 09:19
Я ничего не понял)
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
22.03.2017, 12:34

Не по теме:

APMU,
Пьяный доктор Хи-Хи со скальпелем вам поможет.



Добавлено через 3 минуты
если файл идентичен другому, разница только в дате изменения - удалять?
сам файл, закинутый в папку поменяет ее размер и дату - удалять?
0
 Аватар для ZoOoO
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
22.03.2017, 17:37
alpapВы еще забыли атрибуты сравнить.
0
1 / 1 / 0
Регистрация: 22.03.2017
Сообщений: 19
22.03.2017, 18:08  [ТС]
1)есть исходная папка PE3EPB_1 в нее нужно закинуть бат файл (которого у меня нету)
2) PE3EPB_1 и PE3EPB_2 содержат одинаковые файлы (этим занимается другой мой бат файл)
но в папке PE3EPB_2 могут быть лишние файлы или папки которых нету в PE3EPB_1
так вот надо закинуть бат файл в PE3EPB_1 чтоб он проверил какие файлы лишние в папке PE3EPB_2 и удалил их в этой самой папке PE3EPB_2
________________________________________ __________________________________
в самой папке PE3EPB_1 где то на 60 ГБ файлов и папок и ручками искать это ужас а копировать заново на флеш 60 гб это кошмар
1но но это надо сделать именно bat или cmd файлом
________________________________________ __________________________________
надеюсь теперь понятней выразился
буду благодарен за любую помощь
0
 Аватар для ZoOoO
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
22.03.2017, 20:02
Название файлов сравнить,содержимое файлов(текст например)?
0
 Аватар для b0gus
741 / 339 / 134
Регистрация: 17.03.2014
Сообщений: 842
22.03.2017, 22:42
Цитата Сообщение от APMU Посмотреть сообщение
буду благодарен за любую помощь
оно ?
0
1 / 1 / 0
Регистрация: 22.03.2017
Сообщений: 19
23.03.2017, 23:09  [ТС]
Code
1
Название файлов сравнить,содержимое файлов(текст например)?
можно и по названию так как если файл есть водной папки и в другой содержимое их одинаковое а если файл уникален то его нужно удалить
0
 Аватар для ZoOoO
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
24.03.2017, 00:04
С папками я не понял)Название папок может быть разное,а название файлов в обоюдных папок одинаковое?
резерв_2\папка\1.txt резерв_1\машина\1.txt
?
Сделал на сравнение одинаковых файлов.
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
@echo off
Setlocal EnableDelayedExpansion
for /f "delims=" %%a in ('dir /a-d /s /b rezerv2') do (
set "c=%%a"
call :1 %%~nxa
)
pause
exit /b
:1
for /f "delims=" %%b in ('dir /a-d /s /b rezerv1') do (
if "%%~nxb"=="%~1" exit /b
)
del !c!
exit /b
Батник положите рядом с двумя папками резерв1 и резерв2.Удаляет те файлы у которых расширение с названием файла не совпадает с файлом из другой папки.
0
1 / 1 / 0
Регистрация: 22.03.2017
Сообщений: 19
24.03.2017, 04:04  [ТС]
Цитата Сообщение от ZoOoO Посмотреть сообщение
С папками я не понял
блин я уже даже не знаю как тебе и объяснить более понятливо
давай попробуем тогда так
_____________________
предположим что команды [xcopy] и [del] работали бы одинаково
_____________________
то пример выгладил бы примерно так
________________________________________ ______________
если я закидываю бат файл в папку С:\PE3EPB_1 на копирование данных в папку D:\PE3EPB_2 он выглядит так
copy.bat(xcopy *.* "D:\PE3EPB_2" [параметры])
при этом с нужными ключами он не копирует файлы которые уже есть в другой папке
а тех которых нету или изменены то он копирует
________________________________________ ______________
и то что мне нужно (жаль что также оно не работает)
если я закидываю бат файл в папку С:\PE3EPB_1\ на УДАЛЕНИЕ данных в папке С:\PE3EPB_1\ он выглядел бы так
DEL.bat(DEL *.* "D:\PE3EPB_2" [параметры])
при этом с нужными ключами он НЕ УДАЛЯЕТ файлы которые одинаковые в двух папках
а тех которых нету или изменены то он УДАЛЯЕТ сам у себя )
________________________________________ ________________
надеюсь на таком бредовом примере будит понятней
0
 Аватар для volodin661
6688 / 2279 / 348
Регистрация: 10.12.2013
Сообщений: 7,884
24.03.2017, 04:53
robocopy

но интереснее

rsync for Windows
1
1 / 1 / 0
Регистрация: 22.03.2017
Сообщений: 19
24.03.2017, 05:15  [ТС]
я уже даже думал так сделать но там лог кривой получается

Windows Batch file
1
2
3
4
5
6
7
8
set vv1=D:\PE3EPB_2\
set vv2=параметры
set vv3=xcopy *.* "%vv1%"   %vv2%
%vv3%>DEL.txt
set vv4=DEL.txt
set vv5=D:\PE3EPB_2\%vv4%
del /S /F /Q %vv4%
del /S /F /Q %vv5%
сам лог вообще бредовый при этом файлы закидывались в С:\PE3EPB_1\
в логе должно быть так
file1.logС:\PE3EPB_1\значки\001.png
С:\PE3EPB_1\значки\002.png
С:\PE3EPB_1\значки\003.png
С:\PE3EPB_1\значки\004.png
С:\PE3EPB_1\значки\005.png


а в логе пишет вот такой бред )
file1.logC:значки\001.png
C:значки\002.png
C:значки\003.png
C:значки\004.png
C:значки\005.png


еслиб в лог писалось бы так
file1.log\значки\001.png
\значки\002.png
\значки\003.png

можно былобы поиграться

Цитата Сообщение от volodin661 Посмотреть сообщение
robocopy
но интереснее
rsync for Windows
Цитата Сообщение от APMU Посмотреть сообщение
нужен bat или cmd
мне нужно не
Цитата Сообщение от APMU Посмотреть сообщение
(xcopy *.* "D:\PE3EPB_2" [параметры])
а удаление лишних файлов и папок
0
 Аватар для ZoOoO
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
24.03.2017, 20:51
Не надо объяснять.Напиши список двух файлов с одинаковыми файлами ,папками и неодинаковых файлов и папок.Я не могу понять,как дела обстоят с папками.Ибо в папках обычно хранятся файлы.Тебе нужно уникальную папку papka удалить,а содержимое оставить если в этой уникальной папке есть файлы из файла резерв_1?
0
1 / 1 / 0
Регистрация: 22.03.2017
Сообщений: 19
24.03.2017, 23:52  [ТС]
Цитата Сообщение от ZoOoO Посмотреть сообщение
Напиши список двух файлов с одинаковыми файлами ,папками и неодинаковых файлов и папок
1)короче две папки это копии друг друга на 100% одинаковые за исключение закинутого бат файла
file.txtС:\PE3EPB_1\bat.bat
С:\PE3EPB_1\значки\001.png
С:\PE3EPB_1\значки\1\001.png
С:\PE3EPB_1\значки\1\1\001.png
С:\PE3EPB_1\значки\1\1\1\001.png
С:\PE3EPB_1\значки\1\1\1\1\001.png


file1.txtD:\PE3EPB_1\значки\001.png
D:\PE3EPB_1\значки\1\001.png
D:\PE3EPB_1\значки\1\1\001.png
D:\PE3EPB_1\значки\1\1\1\001.png
D:\PE3EPB_1\значки\1\1\1\1\001.png


предположим что мы ручками удалили файл D:\PE3EPB_1\значки\1\1\001.png и забыли что мы его именно там удалили
так вот бат файл засунутый в папку С:\PE3EPB_1\bat.bat должен проверить D:\PE3EPB_1\ на наличие всех файлов и если не найдет какой то файл или папку то удаляет такой у себя в папке (даже попытается удалить самого себя если его нету в другом каталоге )
________________________________________ _
2)тоже пояснение к первому

file.txtС:\PE3EPB_1\bat.bat
С:\PE3EPB_1\bat1.bat
С:\PE3EPB_1\значки\001.png
С:\PE3EPB_1\значки\1\001.png
С:\PE3EPB_1\значки\1\1\001.png
С:\PE3EPB_1\значки\2\1\1\001.png
С:\PE3EPB_1\значки\1\3\1\1\001.png
С:\PE3EPB_1\значки\1\1\1\bat1.bat


file1.txtD:\PE3EPB_1\значки\001.png
D:\PE3EPB_1\значки\1\001.png
D:\PE3EPB_1\значки\1\001.png
D:\PE3EPB_1\значки\1\1\001.png
D:\PE3EPB_1\значки\1\1\1\001.png
D:\PE3EPB_1\значки\1\1\1\bat1.bat


тут бат файл должен удалить самого себяС:\PE3EPB_1\bat.bat и С:\PE3EPB_1\bat1.bat и папку с файлами С:\PE3EPB_1\значки\2\ и папку С:\PE3EPB_1\значки\1\3\ так как таких папок и файлов нету в другом каталоге с которым мы сверились
а эти 2а самом собой не пострадают так как они зеркальны друг другу С:\PE3EPB_1\значки\1\1\1\bat1.bat и D:\PE3EPB_1\значки\1\1\1\bat1.bat

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

Цитата Сообщение от ZoOoO Посмотреть сообщение
Тебе нужно уникальную папку papka удалить,а содержимое оставить если в этой уникальной папке есть файлы из файла резерв_1?
само собой нет
если папки нету в точке Б то её нужно удалить и в точке А (при условии что бат файл находится в точке А)

бат файл закинутый в папку С:\PE3EPB_1\ видит следующее *.*
file.txt bat.bat
bat1.bat
значки\001.png
значки\1\001.png
значки\1\1\001.png
значки\2\1\1\001.png
значки\1\3\1\1\001.png
значки\1\1\1\bat1.bat

и может сверять тоже самое в D:\PE3EPB_1\
file1.txtset xa1=D:\PE3EPB_1\
%xa1% bat.bat
%xa1% bat1.bat
%xa1% значки\001.png
%xa1% значки\1\001.png
%xa1% значки\1\1\001.png
%xa1% значки\2\1\1\001.png
%xa1% значки\1\3\1\1\001.png
%xa1% значки\1\1\1\bat1.bat

и если все пути одинаковые то и удалять нечего ненужно
а если есть какой то путь которого нету в папки с которой он сверяется то и удаляет у себя этот путь
я понимаю что это можно реализовать но просто не хватает знаний
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
25.03.2017, 02:17
Только не надо его запихивать в папку поиска, запускайте откуда-то себе. Код перебирает все в папке именно "С:\PE3EPB_1", ведь оттуда мы удаляем лишнее по-отношению к "D:\PE3EPB_1" и какого тогда bat должен делать в ней ровно как и в эталонной (если все устраивает, раскомментировать строку удаления, а проверочную удалить):
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
@echo off
set "d1=C:\Reserv_1"
set "d2=D:\Reserv_1"
for /f "delims=" %%a in ('2^>nul dir /a-d/b/s "%d1%"') do call :d_ "%d1%" "%d2%" "del" "%%a"
for /f "delims=" %%a in ('2^>nul dir /ad/b/s "%d1%"') do call :d_ "%d1%" "%d2%" "rd" "%%a"
pause
 
:d_
 set "nz=%~4"
 cmd/v/c if not exist "!nz:%~d1=%~d2!" echo %~3 /q "%~4"
 ::cmd/v/c if not exist "!nz:%~d1=%~d2!" ^>nul 2^>^&1 %~3 /q "%~4"
exit /b
2
Любознательный
 Аватар для YuS_2
7405 / 2255 / 360
Регистрация: 10.03.2016
Сообщений: 5,216
25.03.2017, 05:11
Лучший ответ Сообщение было отмечено APMU как решение

Решение

Цитата Сообщение от APMU Посмотреть сообщение
папку PE3EPB_1 и проверяет все отличия файлов и папок из папки лежащий в другом месте PE3EPB_2 и если находит лишние то удаляет их из папки PE3EPB_2 (лишние файлы и папки)
Цитата Сообщение от APMU Посмотреть сообщение
тут бат файл должен удалить самого себяС:\PE3EPB_1\bat.bat и С:\PE3EPB_1\bat1.bat и папку с файлами С:\PE3EPB_1\значки\2\ и папку С:\PE3EPB_1\значки\1\3\ так как таких папок и файлов нету в другом каталоге с которым мы сверились
а эти 2а самом собой не пострадают так как они зеркальны друг другу С:\PE3EPB_1\значки\1\1\1\bat1.bat и D:\PE3EPB_1\значки\1\1\1\bat1.bat
Как вообще это согласуется? Вы уже определитесь, где именно файлы и папки будут удаляться... то ли в папке РЕЗЕРВ_1, то ли в папке РЕЗЕРВ_2.
Яркий пример того, что неумение составлять условие задачи, запутывает всех вокруг и составителя, в том числе...

Вот Вам решение:
Windows Batch file
1
2
3
4
5
@echo off
set "src=C:\РЕЗЕРВ_1"
set "dst=C:\РЕЗЕРВ_2"
robocopy "%src%" "%dst%" "*.*" /s /purge
pause
где:
C:\РЕЗЕРВ_1 - папка-образец
C:\РЕЗЕРВ_2 - папка, в которой будет происходить сверка с образцом и где будут производиться удаления.
сам пакетный сценарий может запускаться из любого места, помещать его в наблюдаемые каталоги не следует.
3
1 / 1 / 0
Регистрация: 22.03.2017
Сообщений: 19
29.03.2017, 00:27  [ТС]
всем большое спасибо за потраченное время и отдельное огромное спасибо YuS_2 который мне глаза открыл на то что у меня уже было и я этого не замечал
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.03.2017, 00:27
Помогаю со студенческими работами здесь

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

Поиск и удаление файлов/папок
Здравствуйте. У меня такой вопрос! Как сделать bat файл, один из которых будет искать и удалять нужную папку а другой конкретный файл. ...

Удаление файлов и папок в корзину
Доброго времени суток! Подскажите как переместить файлы и папки из папки Х в корзину посредством командной строки. Хочу написать батник...

Запрет на удаление файлов/папок
Здравствуйте. Такая проблема: на компьютере есть два пользователя "User" и "Admin". Задача состоит в том чтобы запретить User-у удалять...

Удаление папок и файлов с выбором
Здравствуйте, прошу вашей помощи. У меня на диске C:\ постоянно собирается всякий хлам, папки, файлы,видео,музыка. Вопрос? Как создать BAT...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru