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

Сравнение содержимого двух папок и вывод на экран различия

16.12.2015, 22:36. Показов 9792. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Имеются две папки (1,2) Помогите создать батник, что бы он мог сравнить две папки, а затем выводить, каких файлов нет в 1 папке по отношению ко 2, а каких наоборот.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.12.2015, 22:36
Ответы с готовыми решениями:

Сравнение содержимого двух папок.
Подскажите пож-ста по следующему вопросу: Была папка, к ней сделана резервная копия. Далее и в ту...

Сравнение содержимого двух папок
Доброго времени суток всем. Помогите написать батник. Сам в этом не селен. Суть в следующем :...

Сравнение содержимого папок
Добрый вечер, друзья. Есть нерешенная проблема, решение в 'интернете' к сожалению найти не...

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

2
Покинул форум
3672 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
18.12.2015, 11:17 2
Лучший ответ Сообщение было отмечено Greeny как решение

Решение

Если предположить, что обе папки находятся в одной и той же общей папке и их именами являются dir1 и dir2, а командный сценарий запускается из этой общей папки, то:
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
    echo:FileName                        Dir1   Dir2
    echo:--------                        ----   ----
    for /f "tokens=*" %%i in (
      'dir /a-d /s /b dir1'
    ) do (
      set "itm=%%~i"
      set "itm=!itm:dir1=dir2!"
      set "nwe=%%~nxi"
      call:strLen "!nwe!"
      if !len! lss 32 (
        for /l %%j in (!len!, 1, 31) do set "nwe=!nwe! "
      )
      if exist "!itm!" (
        echo:!nwe!true   true
      ) else (
        echo:!nwe!true   false
      )
    )
  endlocal
exit /b
 
:strLen
  set "s=%~1"
  set "len=1"
  for /l %%i in (1, 1, 255) do (
    set "c=!s:~%%i!"
    if defined c set /a "len+=1"
  )
exit /b
Примерный вывод:
Код
FileName                        Dir1   Dir2
--------                        ----   ----
Build.sql                       true   true
Util.sql                        true   false
...
2
0 / 0 / 0
Регистрация: 16.12.2015
Сообщений: 2
19.12.2015, 17:05  [ТС] 3
Спасибо.Очень помог)))
0
19.12.2015, 17:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.12.2015, 17:05
Помогаю со студенческими работами здесь

Сравнение двух массивов и вывод на экран их одинаковых элементов
Здравствуйте. Только начал изучать JavaScript. Хочу разобраться с вот такой задачкой: Заполнить два...

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

Программная синхронизация содержимого двух папок
Здравствуйте! Написал код где происходит сравнение 2х папок, теперь мне нужно сделать если папки не...

Сравнение двух папок
есть две папки Work(имеет кучу подпаок и файлов) на сетевом диске и папка Work(имеет кучу подпаок и...


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

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