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

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

01.02.2021, 14:15. Показов 6762. Ответов 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,813
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,813
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
Ответ Создать тему
Новые блоги и статьи
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 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`). . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru