Сравнение чисел в .txt и двух текстовых файлов
Вложений: 1
Есть текстовый файл 1.txt в котором записаны 2 числа (число 1 и число 2) в один ряд через пробел, берем за пример: 31 5
1) Если хоть одного из числа 1 и числа 2 нет в перечне: 2, 5, 7, 15, 17, 19, 23, 31, 35 то выполнить скрипт заново. 2) Если число 1 и число 2 есть в списке чисел то выполнить скрипт далее. 3) Переименовать 1.txt в 2.txt. 4) Новый созданный 1.txt сравнить с 2.txt - 1 число с 1 числом и 2 число с 2 числом, если хоть одно различие то выполнить скрипт далее. |
Это что за лабораторка дурная такая?!
|
Та нет, это для другого...
|
Тогда опишите саму задачу, а не выбранное решение.
|
papacoca, вот решение, на Ваш алгоритм:
Код:
@echo off |
Цитата:
Одно уточнение! В 3) пункте: Пишет, Переименовываем [1.txt] в [2.txt] Файл [2.txt] уже существует. Не может переименовать [1.txt] в [2.txt] потому что он существует. Можно сделать, чтоб без лишних запросов, удалить 2.txt и переименовать 1.txt в 2.txt, автоматом нужно? Так как 2.txt будет постоянно создан его нужно удалить перед тем как переименовать 1.txt |
Цитата:
Цитата:
Подсказка: Редактировать надо вот этот условный блок: Код:
if not exist "%file2%" (ren "%file1%" "%file2%") else ( Либо, вместо добавления команды удаления, можно просто заменить команду переименования на команду перемещения - move с ключом /y, а условный блок вообще убрать, оставить только одну команду move В помощь: Код:
if /? |
Цитата:
Можете немного пояснить, если файлы идентичны вместо этого прописать 1 сценарий? Код:
(echo.Файлы идентичны. Что будем делать дальше - не знаю :^)&pause&exit /b) Код:
echo.Приехали! Станция "Конечная". Цитата:
|
Цитата:
Цитата:
Т.е. примерно так: Код:
... Цитата:
Цитата:
|
Цитата:
Код:
@echo off |
Если надо идентичность файлов
Код:
@Echo Off Если надо одинаковые числа в файлах вне зависимости от порядка
Заменить выделенный кусок предыдущего кода
Код:
:Begin2 |
Цитата:
Код:
set "var=1 4 6 14 16 20 24 32 39" Для этого набора все четко работает: Код:
set "var=2 5 7 15 17 19 23 31 35" |
Цитата:
Цитата:
В общем, надо менять механизм проверки. Код:
@echo off |
Цитата:
Можете подсказать: чтобы скрипт дополнительно проверял file1=1.txt, если он пустой или содержит @ # эти символы то выполнял заново. Если можно в пару строк:)) |
Цитата:
надо заменить квадратные скобки на кавычки в условных проверках, т.е. вот эти две строки: Код:
if [%%a] equ [%%i] (set /a f1=1) Код:
if "%%a" equ "%%i" (set /a f1=1) PS Хотя он и с квадратными скобками должен в начало переходить и работать по кругу, пока цифры не появятся... А у Вас что происходило? |
Время: 15:59. |
Время: 15:59.
© OSzone.net 2001-