Вот правильный способ сделать это, без внешних загрузок. На первый взгляд это выглядит много, но как только вы это сделаете, это будет очень просто. Он работает во всех версиях Windows от 7 до 95. Для нашего примера предположим, что вы сравниваете две директории с именами «A» и «B». 1. запустите cmd.exe, чтобы получить командную строку. (В Windows 7 PowerShell не будет работать для этого, к вашему сведению.) Затем сделайте это снова, чтобы два из них были открыты рядом друг с другом. 2. в каждом окне перейдите в каталоги, которые вы хотите сравнить. (Использование команд 'cd'. Если вам это неудобно, то вам, вероятно, следует воспользоваться внешними утилитами, если вы не хотите изучать материал командной строки.) 3. введите 'dir / b> A.txt' в один окно и «dir / b> B.txt» в другой. Вы' Теперь у меня будет два текстовых файла со списком содержимого каждого каталога. Флаг / b означает пустой, что сокращает список каталогов до имен файлов. 4. Переместите B.txt в ту же папку, что и A.txt. 5. введите «fc A.txt B.txt». Команда 'fc' означает сравнение файлов. В результате будет выведен список различий между двумя файлами с дополнительной строкой текста над и под каждым различием, чтобы вы знали, где они находятся. Чтобы узнать больше о форматировании вывода, введите «fc /?». по подсказке. Вы также можете передать различия в другой файл, используя что-то вроде 'fc A.txt B.txt> sizes.txt'. Повеселись. Команда 'fc' означает сравнение файлов. В результате будет выведен список различий между двумя файлами с дополнительной строкой текста над и под каждым различием, чтобы вы знали, где они находятся. Чтобы узнать больше о форматировании вывода, введите «fc /?». по подсказке. Вы также можете передать различия в другой файл, используя что-то вроде 'fc A.txt B.txt> sizes.txt'. Повеселись. Команда 'fc' означает сравнение файлов. В результате будет выведен список различий между двумя файлами с дополнительной строкой текста над и под каждым различием, чтобы вы знали, где они находятся. Чтобы узнать больше о форматировании вывода, введите «fc /?». по подсказке. Вы также можете передать различия в другой файл, используя что-то вроде 'fc A.txt B.txt> sizes.txt'. Повеселись.
Исключить файлы в папке, которые дублируются в другом дереве папок
У меня есть две папки. Одна из них (папка 1) имеет изображения, а другая (папка 2) имеет несколько подпапок с изображениями. Я хотел найти изображения в папке 1, которые дублируются в папке 2 или любой из ее подпапок, и удалить их. Перемещение недубликатов в новую папку (папка 3) также является опцией.
Могу ли я сделать это с помощью командной строки? Мне нужен сценарий?
Я попытался использовать FreeFileSynch, но он не работает, если в папке 2 есть подпапки.
Изменить: предложение Robocopy интересно, но хотя он может копировать подпапки и их содержимое, я не думаю, что он может копировать только файлы внутри подпапок.
2 ответа на вопрос
Таким образом, решение, которое я нашел, не идеально, но работает.
Я скопировал все файлы из папки 1 во временную папку, выравнивая иерархию с помощью команды forfiles в командной строке. Затем я переместил файлы из временной папки в папку 2, заменив некоторые из них. Файлы, которые были перемещены, были удалены, поскольку они уже были в папке 1.
1) В командной строке: forfiles / p C: \ folder1 / s / c "cmd / c copy @path C: \ временная папка"
2) В проводнике Windows: переместите файлы из временной папки в папку 2 и замените существующие файлы. Пока файлы выбраны, удалите их. Остальные файлы - это файлы из папки 2, которых не было в папке 1.
Похожие вопросы
-
2
.profile в Mac OS X?
-
6
Какие функции Zsh вы используете?
-
5
Прозрачная командная строка в Vista?
-
-
4
Используйте портфель Windows из командной строки
-
4
Почему некоторые команды не существуют?
-
11
Есть ли простой способ разделить mp3 файлы?
-
2
Как я могу получить OSX Terminal.app для открытия полноэкранного режима, а не каскадного?
-
4
Синхронизация удаленных папок в Linux
-
6
Полноэкранная командная строка или замена Vista
-
6
Хорошее руководство по PowerShell, начало работы с более продвинутым использованием