Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 29.11.2014
Сообщений: 8
1

Поиск копий файлов и удаление найденных копий

27.01.2019, 20:38. Просмотров 624. Ответов 8

Столкнулся с подобным заданием и никак, не могу понять как его решить:
Разработать пакетный файл, находящий копии файлов в 2х заданных каталогах. Для каждой такой пары вывести на экран запрос о том какую копию удалить.
Вот что у меня получилось сделать(код ниже), но при этом понятия не имею как выводить сообщение для каждой найденной пары + как сделать нормальное меню выбора, чтобы оно удаляло не все файлы в папке, а именно выбранную копию (в коде ниже, полнейший бред, я это понимаю). Прошу посоветовать, как и что лучше сделать.
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
@ECHO OFF
chcp 1251
SET "ONE=C:\Users\SPARK\Desktop\one"
SET "TWO=C:\Users\SPARK\Desktop\two"
ECHO Найдены следующие копии файлов в папке, какую копию удалить? // Как выводить данное сообщение для каждой пары?
FOR %%I IN ("%ONE%\*") DO IF EXIST "%TWO%\%%~nI.*" ECHO %%~nxI Размер: %%~zI Дата:%%~tI
ECHO Введите цифру где нужно удалить копии файлов!
ECHO Выбирете %ONE% - цифра 1 или  %TWO% - цифра 2
Set /p choice="Ваш выбор: " // Как лучше всего организовать меню выбора, для выбранной копии
if not defined choice goto m1
if "%choice%"=="1" (del %ONE%\%%~nI.*)
if "%choice%"=="2" (del %TWO%\%%~nI.*)
PAUSE
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.01.2019, 20:38
Ответы с готовыми решениями:

Печать нескольких копий файлов
Добрый день форумчане! Не нашел ответа на такой вопрос: как отправить на печать больше одной копии...

Копирование с шары на другую шару и удаление старых копий
Доброго времени суток народ! Столкнулся с задачей такой @echo off robocopy "\\share1\backup"...

Как батником сделать несколько копий файлов
Добрый день необходимо батником в папке сделать 200 одинаковых копий файла 1.htm с названиями 1, 2,...

Пакетный файл для создания копий файлов с расширением sys диска С
Подсобите пожалуйста: Разработать пакетный файл для создания копий файлов с расширением *.sys...

8
207 / 194 / 67
Регистрация: 09.02.2016
Сообщений: 1,001
27.01.2019, 20:57 2
ничего себе.Две копии.Это сравнивать их название,размер,расширение,так получается?)
0
0 / 0 / 0
Регистрация: 29.11.2014
Сообщений: 8
27.01.2019, 21:13  [ТС] 3
ну в условии про это не сказано ¯\_(ツ)_/¯
0
3133 / 1775 / 590
Регистрация: 26.04.2015
Сообщений: 5,870
27.01.2019, 21:40 4
Цитата Сообщение от henckok Посмотреть сообщение
находящий копии файлов
правильно вопрос вам задали
Цитата Сообщение от ZoOoO Посмотреть сообщение
сравнивать их название,размер,расширение
еще немаловажный параметр - содержимое
так по каким параметрам сравнивать-то?
0
207 / 194 / 67
Регистрация: 09.02.2016
Сообщений: 1,001
27.01.2019, 22:10 5
батник то я написал.Только на тесте батника выяснилось,что например файлы docx с одним символом в одном и с двумя в другом,имеют одинаковый размер.Вот тебе и копия.

Цитата Сообщение от alpap Посмотреть сообщение
еще немаловажный параметр - содержимое
Видимо содержимое надо сравнивать по словно)

Вот вроде задание,как задание, но какой то неправильное задание.

Добавлено через 13 минут
через comp можно,но я еще не придумал как поймать вывод когда ошибок нет
0
0 / 0 / 0
Регистрация: 29.11.2014
Сообщений: 8
27.01.2019, 22:21  [ТС] 6
Я думаю по названию и размеру

Добавлено через 8 минут
Допустим есть две папки. В каждой файл с названием н-р: test.txt, но один весит 655 байт, а другой 900 байт, у нас выводится сообщение: Найдены копии файла: test.txt (выводится их размер), какую копию удалить? Допустим мы выбираем 1, после выбора идет удаление файла
0
207 / 194 / 67
Регистрация: 09.02.2016
Сообщений: 1,001
27.01.2019, 22:49 7
Команда comp может сравнить файлы так,как нам надо.Но предательское Сравнить другие файлы [Y(да)/N(нет)]? , вылезающие после окончания сравнения, не дает автоматизировать процесс.
0
3133 / 1775 / 590
Регистрация: 26.04.2015
Сообщений: 5,870
27.01.2019, 23:31 8
Цитата Сообщение от ZoOoO Посмотреть сообщение
comp может сравнить файлы
тогда уже лучше:
Windows Batch file
1
2
3
4
@echo off
>nul fc "1\a.txt" "2\b.txt"
if %errorlevel%==1 echo Отличия есть
pause
и на выводе строить дальнейший код
1
207 / 194 / 67
Регистрация: 09.02.2016
Сообщений: 1,001
28.01.2019, 00:52 9
ЧОто чем дальше,тем запутаннее все становится

Добавлено через 20 минут
Попробуй. Батник надо сохранять в 866 кодировке, что бы русские символы отображались правильно
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
@echo off
Setlocal EnableDelayedExpansion
pushd "%userprofile%\desktop\1"
FOR /f "delims=" %%a IN ('dir /a:-d /b') DO (
call :1 %%a
)
echo копий нет.
pause
exit /b
:1
pushd "%userprofile%\desktop\2"
dir /a:-d /b "%userprofile%\desktop\2\%1" 2>nul 1>&2 && fc "%userprofile%\desktop\1\%1" "%userprofile%\desktop\2\%1" > nul && if %errorlevel%==0 goto 2
 
popd
exit /b
:2
echo найдены две копии файлов:
echo 1.%userprofile%\desktop\1\%1
echo 2.%userprofile%\desktop\2\%1
set /p c="Нажмите 1 или 2 для удаления нужной копии:"
if !c!==1  del "%userprofile%\desktop\1\%1" && echo копия удалена.
if !c!==2  del "%userprofile%\desktop\2\%1" && echo копия удалена.
popd
exit /b
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.01.2019, 00:52

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Создание множества копий одного файла с именами, взятыми от других файлов
Есть аудиофайл в папке "F:\1\name.mp3" Есть папка "F:\2". В ней лежит множество файлов с разными...

Поиск одинаковых файлов в папке и перенос копий в другую папку (оптимизация кода)
Программа ищет одинаковые файлы в папке где сама находится(по маске или расширению), по хэшу, и...

Удаление копий
Решил удалить копии в таблице: DELETE q FROM `question` q WHERE EXISTS ( SELECT ...

Удаление старых резервных копий
Форумчане, всем привет. Есть разделенная база. И при ее открытии "криво", это 2 вопрос, создается...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.