Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.93/29: Рейтинг темы: голосов - 29, средняя оценка - 4.93
 Аватар для Bazaroff
288 / 93 / 11
Регистрация: 29.05.2011
Сообщений: 2,423

Поиск дубликатов папок

01.02.2021, 14:15. Показов 6758. Ответов 62
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как осуществить?
Вот есть какой-то локализованный массив папок. Как узнать есть ли среди них идентичные по своему содержанию, и указать какие.
Вроде TotalCommander напрашивается. Да никак не придумаю как его можно приспособить для этого.(
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.02.2021, 14:15
Ответы с готовыми решениями:

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

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

Поиск и копирование файлов с заменой дубликатов
Добрый день! По работе понадобилось сделать BAT-файл, который просматривает сетевую директорию "\\serv\dir\" и ищет там файлы...

62
 Аватар для volodin661
7094 / 2325 / 353
Регистрация: 10.12.2013
Сообщений: 8,026
02.02.2021, 19:00
Студворк — интернет-сервис помощи студентам
PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$dirs = gci c:\my_music -dir -rec
 
for ($i = 0; $i -lt $dirs.count; $i++) {
 
    for ($j = 0; $j -lt $dirs.count; $j++) {
 
        if ($i -lt $j ) {
 
            $dirA = gci $dirs[$i];
            $dirB = gci $dirs[$j];
            $c = (Compare-Object $dirA $dirB -Property Name -IncludeEqual -ExcludeDifferent).count
 
            if ($dirA.count -eq $dirB.count -and $dirA.count -eq $c ) {
 
                "{0} == {1} (total {2} same files)" -f $dirs[$i], $dirs[$j], $c
            }
        }
    }
}
разумеется, не тестировал; как мне и посоветовали.
1
 Аватар для alhaos
1934 / 549 / 155
Регистрация: 20.02.2019
Сообщений: 2,675
Записей в блоге: 77
02.02.2021, 19:13
В смысле что у меня это работает, но важно чтобы это работало у автора.
0
 Аватар для Bazaroff
288 / 93 / 11
Регистрация: 29.05.2011
Сообщений: 2,423
02.02.2021, 19:36  [ТС]
volodin661, пути с кириллицей, пробелами, берем как всегда в кавычки?
0
 Аватар для volodin661
7094 / 2325 / 353
Регистрация: 10.12.2013
Сообщений: 8,026
02.02.2021, 20:50
Цитата Сообщение от Bazaroff Посмотреть сообщение
пути с кириллицей, пробелами, берем как всегда в кавычки?

кириллица пофиг.

если пробелы в строковом литерале ( "c:\мой каталог" ), то в кавычках, если же содержимое переменной с пробелами, то пофиг ( $dir = "c:\мой каталог"; $dir2 = $dir )
1
 Аватар для Bazaroff
288 / 93 / 11
Регистрация: 29.05.2011
Сообщений: 2,423
03.02.2021, 02:18  [ТС]
volodin661, поместил скрипт в файл DirComp.ps1. Что-то пошло не так.

dircomp.ps1 : Имя "dircomp.ps1" не распознано как имя командлета, функции, файла сценария или выполняемой программы. Проверьте правильность написания имени, а также наличие и правильность пути, после чего повторите попытку.
строка:1 знак:1
+ dircomp.ps1
+ ~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (dircomp.ps1:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
0
 Аватар для volodin661
7094 / 2325 / 353
Регистрация: 10.12.2013
Сообщений: 8,026
03.02.2021, 11:35
Bazaroff,

всё нормально. находясь в shell, подставлять имя файла для исполнения надо с указанием пути( либо полного, либо относительного);
в твоём случае это будет выглядеть так:
PowerShell
1
.\dircomp.ps1
или так:
PowerShell
1
./dircomp.ps1
если других вариантов с исполняемыми расширениями у данного файла нет ( dircomp.exe, dircomp.bat ),
его можно не указывать
PowerShell
1
./dircomp

В любом случае powershell for windows надо обновить до последней версии 5.1.
ps: для w10 не надо, там и так 5.1

Добавлено через 35 минут
проблем с кириллическими именами файлов возникнуть в powershell не должно.

Если вдруг возникнет нужда в использовании не русских и не английских букв, то сохранять исходный текст в powershell для Windows следует в кодировке utf-8 с BOM.
1
 Аватар для Bazaroff
288 / 93 / 11
Регистрация: 29.05.2011
Сообщений: 2,423
03.02.2021, 13:07  [ТС]
volodin661, то есть, тупо мышкой запускать файл не получится? Только вводить в консоли его запуск?

еще для уточнения. Если в именах сравниваемых папок присутствует символ точка (".") - это не вызовет заблуждений у скрипта?

Добавлено через 7 минут
Цитата Сообщение от volodin661 Посмотреть сообщение
находясь в shell, подставлять имя файла для исполнения надо с указанием пути( либо полного, либо относительного)
Предварительно в консоли текущим каталогом устанавливаю каталог, в котором находится .ps1 и проверяемые папки. Это не имеет значения?
0
 Аватар для volodin661
7094 / 2325 / 353
Регистрация: 10.12.2013
Сообщений: 8,026
03.02.2021, 14:32
Цитата Сообщение от Bazaroff Посмотреть сообщение
volodin661, то есть, тупо мышкой запускать файл не получится?
тыканье мышкой из Windows Explorer - это как правило очень плохой способ запуска консольных программ;
можешь в этом убедиться сам.

обычный способ привязки типа файла к программе:
Right click file.
Select "Open with" .
Select program and check box ☑︎ "Always open with this program".


( подсказываю, что windows powershell живёт в \Windows\system32\WindowsPowerShell\v1.0 \powershell.exe )
1
 Аватар для Bazaroff
288 / 93 / 11
Регистрация: 29.05.2011
Сообщений: 2,423
04.02.2021, 03:27  [ТС]
volodin661, что-то все равно никак.(

C:\Users\Bazaroff\Desktop\Проекты\Музыка \dircomp.ps1:1 знак:50
+ ... = gci C:\Users\Bazaroff\Desktop\Проекты \Музыка -dir -rec
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
В строке отсутствует завершающий символ: '.
+ CategoryInfo : ParserError: ( [], ParseException
+ FullyQualifiedErrorId : TerminatorExpectedAtEndOfString
0
 Аватар для alhaos
1934 / 549 / 155
Регистрация: 20.02.2019
Сообщений: 2,675
Записей в блоге: 77
04.02.2021, 03:51
volodin661, Прикормили, вот нянькайтесть теперь.
0
7001 / 2885 / 1110
Регистрация: 06.06.2017
Сообщений: 9,812
04.02.2021, 05:41
Bazaroff, вопрос, который почему-то остальным не пришло в голову задать: потенциальная глубина у совпадающих папок какая? Файлы все находятся на первых уровнях или могут быть где угодно? Например, такое может быть:
Code
1
2
3
4
5
6
7
8
9
10
ПапкаX\
файл1
файл2
  ПапкаX\
     файл1
     файл2
     ПапкаX\
       файл1
       файл2
       ПапкаX\
Чем точнее будет обрисована схема потенциальной структуры, тем проще код и быстрее поиск.
0
 Аватар для alhaos
1934 / 549 / 155
Регистрация: 20.02.2019
Сообщений: 2,675
Записей в блоге: 77
04.02.2021, 08:07
FlasherX, насколько я понял из условия сравниваются только первого уровня, в моем решение это повлияет только на то, что при сравнении вложенные пустые каталоги будут игнорироваться, насколько вредна или полезна данная согбенность решать автору.
0
7001 / 2885 / 1110
Регистрация: 06.06.2017
Сообщений: 9,812
04.02.2021, 09:34
Цитата Сообщение от alhaos Посмотреть сообщение
насколько я понял из условия сравниваются только первого уровня
Из представленного условия это можно было "понять" только телепатическим модулем. Структурная вариативность там может быть какая угодно.
0
 Аватар для alhaos
1934 / 549 / 155
Регистрация: 20.02.2019
Сообщений: 2,675
Записей в блоге: 77
04.02.2021, 09:47
FlasherX, Трактовка изложений воспрощающего, отдельный вид искусства, сродни судебному процессу с множеством участников и судей.
0
 Аватар для Bazaroff
288 / 93 / 11
Регистрация: 29.05.2011
Сообщений: 2,423
04.02.2021, 13:52  [ТС]
FlasherX, все папки находятся на одном уровне. У одного родителя. В них кроме .mp3 нет ничего. Глубже папок нет.

Добавлено через 4 минуты
Цитата Сообщение от alhaos Посмотреть сообщение
volodin661, Прикормили, вот нянькайтесть теперь.
Ну зачем же так?)
Да, если у людей полно своих дел, то я не вправе настаивать на помощи. Надеюсь только на то, что кому-нибудь не в лом растолковать мне, умом обделенному.)
0
 Аватар для alhaos
1934 / 549 / 155
Регистрация: 20.02.2019
Сообщений: 2,675
Записей в блоге: 77
04.02.2021, 14:52
Цитата Сообщение от Bazaroff Посмотреть сообщение
Ну зачем же так?)
сейчас остались проблемы?
0
 Аватар для Bazaroff
288 / 93 / 11
Регистрация: 29.05.2011
Сообщений: 2,423
04.02.2021, 15:00  [ТС]
Цитата Сообщение от alhaos Посмотреть сообщение
сейчас остались проблемы?
Я же написал:

Цитата Сообщение от Bazaroff Посмотреть сообщение
volodin661, что-то все равно никак.(
C:\Users\Bazaroff\Desktop\Проекты\Музыка \dircomp.ps1:1 знак:50
+ ... = gci C:\Users\Bazaroff\Desktop\Проекты \Музыка -dir -rec
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
В строке отсутствует завершающий символ: '.
+ CategoryInfo : ParserError: ( [], ParseException
+ FullyQualifiedErrorId : TerminatorExpectedAtEndOfString
0
Любознательный
 Аватар для YuS_2
7407 / 2260 / 361
Регистрация: 10.03.2016
Сообщений: 5,216
04.02.2021, 15:02
Цитата Сообщение от Bazaroff Посмотреть сообщение
поместил скрипт в файл DirComp.ps1. Что-то пошло не так.
Сохраняйте скрипты powershell в кодировке UTF-8, это избавит от многих проблем...
1
 Аватар для Bazaroff
288 / 93 / 11
Регистрация: 29.05.2011
Сообщений: 2,423
04.02.2021, 15:10  [ТС]
Цитата Сообщение от YuS_2 Посмотреть сообщение
кодировке UTF-8
А она стоит по-умолчанию оказывается.(
0
 Аватар для alhaos
1934 / 549 / 155
Регистрация: 20.02.2019
Сообщений: 2,675
Записей в блоге: 77
04.02.2021, 15:14
Цитата Сообщение от Bazaroff Посмотреть сообщение
+ ... = gci C:\Users\Bazaroff\Desktop\Проекты \Музыка -dir -rec
ну я явно с кодировкой что-то еще раз проверьте.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.02.2021, 15:14

Поиск дубликатов последовательностей цифр в именах файлов (с логом)
Уважаемые программисты! Очень нужен bat-файл или скрипт, который решает такую задачу: 1. Осуществляет поиск дубликатов...

Поиск одинаковых строк в текстовом файле и вывод дубликатов в другой текстовый файл
Добрый вечер. Нужна помощь знатоков Есть текстовый файл по пути D:\arxiv\rezult.txt с содержимым: Air robot MPEG-4-5min...

Поиск дубликатов
Добрый день. Подскажите как сделать выборку на поиск дубликатов записей в таблице не учитывая ID записи. Полей очень много и нужно работать...

Поиск дубликатов
Добрый день, надеюсь на вашу проф.помощь Надо написать макрос по поиску дубликатов Задание такое:есть в одном листе таблица с...

Поиск дубликатов
Доброе время суток! Очень сильно прошу Вас помочь мне с одним вопрос, попытаюсь максимально точно объяснить, что мне нужно, так как поиск в...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
Вот представьте что вам дали бессмертие.
kumehtar 24.07.2026
Вот представьте что вам дали бессмертие, ничего более не меняя. Вообще ничего, только бессмертие в нынешнем виде. Рады были бы? Что бы вы тут делали всё это время? Никакой пенсии. Никакого нового. . .
сукцессия 41
anaschu 24.07.2026
Численная верификация бифуркации в агентной модели лесной сукцессии: от одного параметра к ансамблю Автор: пользователь @Shumilov_AS | Раздел: Прикладная математика / Численные методы Кратко. . .
сукцессия 40. Ансамблевая кластерная параметризаци, часть 1.
anaschu 24.07.2026
Пр# Сопровождение научной статьи ИИ-ассистентом: подготовка публикации и калибровка агентно-ориентированной модели сукцессии микоризных систем **Полевые заметки о двухнедельной совместной работе**. . .
Теория всего 12. ВГК на планете в стратегической игре "терра"
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru