|
35 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 380
|
|
Exit /b :eof не переходит в конец файла28.10.2011, 22:14. Показов 21252. Ответов 97
Метки нет (Все метки)
Исходя из темы данные команды должны переходить в конец, файла и эти команды используют что б выйти из так называемого цикла /b необходимо что б не закрыть окно бат файла.
На практике получается так что данная команда не выполняется так как нужно и вместо перехода в конец батника срабатывает и начинаются никому не нужное выполнение циклов. Кто вообще встречался с проблемами в этой команде ? Ни одна ни вторая команда не помогает, а выйти нужно что б произошел запуск следующего батника.
0
|
|
| 28.10.2011, 22:14 | |
|
Ответы с готовыми решениями:
97
Конец файла EOF
|
|
35 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 380
|
||||||
| 09.11.2011, 23:57 [ТС] | ||||||
|
Чето как съездил в командировку так все перестало работать сначала время из-за которого рубила из-за системы исчесления, а теперь вот почему-то не сканирует ни один файл. где ошибка ?
0
|
||||||
|
835 / 349 / 12
Регистрация: 04.10.2009
Сообщений: 589
|
|
| 10.11.2011, 00:29 | |
|
Ну вы неправильно написали
findstr /i /r /c:"^..........*\.%%b$" а я сказал что надо findstr /i /r /c:"^........\.%%b$" и в остальных строчках также
0
|
|
|
35 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 380
|
|||||||||||
| 10.11.2011, 21:25 [ТС] | |||||||||||
|
Спасибо сегодня все пересмотрел и как ошибка оказалась усталость после работы и в следствии чего невнимательность. Вот доделываю код.
Как и обещал делюсь )) первый батник
0
|
|||||||||||
|
835 / 349 / 12
Регистрация: 04.10.2009
Сообщений: 589
|
|
| 10.11.2011, 23:15 | |
|
а что там у вас move не срабатывал если файл уже был?
разобрались?
0
|
|
|
35 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 380
|
|
| 10.11.2011, 23:18 [ТС] | |
|
Вроде да там оказалось все намного проще я смотрел не на ту дату ! Смотрел на дату создания ! и думал что он его не заменял хотя он его заменял ! Спасибо буду дальше дописывать ! Хорошо когда голова работает ! Буду тогда тему продолжать ! Единственное как я не пытался так и не понял как можно из директории взять только файлы в таком формате ????????.arj кроме того способа который Вы предложили ?
0
|
|
|
835 / 349 / 12
Регистрация: 04.10.2009
Сообщений: 589
|
|
| 10.11.2011, 23:46 | |
|
просто dir вам все файлы выдаст причем и меньшего размера имени.
А так есть еще вариант отделить имя от расширения и проверить через if но это более громоздкий код зачем он вам.
0
|
|
|
35 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 380
|
|
| 11.11.2011, 09:10 [ТС] | |
|
Вот постепенно подхожу к заключительному этапу появился вопрос как можно выполнять определенные действия например для файлов типа s100????.txt например сделать так называемые исключения ? Если найден такой файл то с ним нужно сделать тото, тото? А то когда писал для ????????.txt так не получалось приходилось применять еще дополнительно конструкцию типа findstr /i /r /c:"^........\.%%b$" .
0
|
|
|
835 / 349 / 12
Регистрация: 04.10.2009
Сообщений: 589
|
|
| 11.11.2011, 10:06 | |
|
для начала исправьте уже findstr /i /r /c:"^........\.%%b$"
0
|
|
|
35 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 380
|
|
| 12.11.2011, 21:18 [ТС] | |
|
0
|
|
|
835 / 349 / 12
Регистрация: 04.10.2009
Сообщений: 589
|
|||||||
| 13.11.2011, 01:17 | |||||||
|
у вас в коде написано findstr /i /r /c:"^..........*\.%%b$
а нужно findstr /i /r /c:"^........\.%%b$" в общем вместо 10 точек и звездочки нужно восемь точек. Добавлено через 1 час 26 минут
1
|
|||||||
|
35 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 380
|
||
| 13.11.2011, 23:21 [ТС] | ||
|
Как я понял конструкцию громоздкого кода пришлось применять. Спасибо. Чето разрастается батник до размеров приложения что самое интересное пока все решается средствами батника посмотрим дальше.
Еще раз спасибо. if "!txtname:~0,4!" вот в этой строке мы берем обозначаем переменную !!(почему когда вызываем переменную,в конструкциях For или IF обозначаем двумя восклицательными знаками а не %% ??? ) , заключаем в кавычки что б если название будет большим слева отступаем 4 символа переменная у нас называется txtname, зачем ставим : и зачем ставим ~0,4 чето не могу понять что обозначает ~, 0, и , ?????? Добавлено через 5 минут
Кстати столкнулся с проблемой скобок. Нет ли какого-либо редактора по BATH ???? А то не всегда бывает все что открыл закрыть приходится разбирать достаточно детально, а иной раз и добавляешь что и меняешь конструкцию и получается все что изменил не всегда получается потом сразу подправить все так как нужно. Ну редактора типа как у Visual Studia ? или я многого хочу ?
0
|
||
|
835 / 349 / 12
Регистрация: 04.10.2009
Сообщений: 589
|
|
| 14.11.2011, 03:46 | |
|
Notepad++ неплохо справляется со всем этим делом.
При наведении текстового курсора на скобку она выделяется красным цветом и соответствующая ей закрывающая тоже выделяется красным. Синтаксис батника он хорошо показывает, но к сожалению в стандартном синтаксисе batch блоки не показываются. Если хотите можно выбрать синтаксис Lisp, тогда блоки как раз показывает.(но часть синтаксиса теряется все таки он другой) Добавлено через 4 минуты По хорошему там бы доделать синтаксис batch не помешало.
0
|
|
|
35 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 380
|
||||||
| 17.11.2011, 23:02 [ТС] | ||||||
|
не могу понять что он не может найти ?????????????
Вот код:
0
|
||||||
|
35 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 380
|
||||||||||||
| 17.11.2011, 23:51 [ТС] | ||||||||||||
Добавлено через 13 минут
Почему-то команда удаления папки находясь внутри цикла работает как-то не правильно Да и вообще все что находится в цикле работает как-то все по другому Добавлено через 4 минуты а как быть с файлами типа ****rrtt.arj ??????? Добавлено через 27 минут И вот еще вопрос столкнулся с проблемой по алгоритму сначала находятся все файлы, по маскам, по разрешениям, потом начинают проверяться архивы. И вот как раз получается такой вариант когда пользователь может положить файл в момент когда закончились проверяться все обычные файлы и стали проверяться все архивы и по алгоритму получаются они просто выкинутся в каталог не отправленных файлов. Как лучше поступить ? Я думал что б первая команда забирала все в директорию к которой не имеет доступа пользователь и там уже все колбасить, и если что не так возвращать пользователю обратно ! какие еще могут быть варианты ?
0
|
||||||||||||
|
835 / 349 / 12
Регистрация: 04.10.2009
Сообщений: 589
|
||||
| 18.11.2011, 07:47 | ||||
|
Когда папки TEMP нет он пишет "не удается найти указанный файл". Чтобы убрать из вывода эти сообщения напишите RMDIR /s /q "%Put%\%thePATH%\OUT\OSB\%%a\TEMP\" 2>nul Добавлено через 5 минут Ну вы папку TEMP удаляете (в 276 строке например) а в следующей строке создаете может поэтому вам и кажется что не работает. Добавлено через 2 минуты а то если много то лучше их все сразу делать а так по одной код слишком большой получится. Добавлено через 10 минут В конце нужно обрабатывать не все файлы а выбирать какие не подходят по условиям в начале. Но в этом случае конечно надо быть аккуратным. Если меняете алгоритм выбора файлов в начале то и в конце тоже надо будет менять. Добавлено через 39 минут Вообще если подумать нужно полностью поменять алгоритм. Надо выбирать файлы тогда не по фильтрам, а брать все по очереди. И вручную смотреть подходит он по параметрам или нет. Тогда проблем с добавлением файлов во время обработки не будет. Агоритм несколько усложнится но не намного. Добавлено через 1 час 24 минуты Напишите только по нормальному какие файлы и как нужно обрабатывать а то в вашем коде который меняется разбираться очень долго и он скорее всего еще и не так работает как нужно.
0
|
||||
|
35 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 380
|
|
| 18.11.2011, 08:40 [ТС] | |
|
Файлы исключений не много я думаю будет ну максимум 5 !
По поводу алгоритма просто создать отдельную директорию и туда уже переносить все файлы в папку не доступную для пользователей ? Добавлено через 3 минуты Ну а если усложнять алгоритм то получается необходимо просто еще добавить еще один цикл FOR который будет брать файл и передавать другому Фору в свою очередь фор просматривает по фильтрам и если файл не прошел не по одному фильтру то после всех фильтров стоит одна команда которая отметает этот файл в другую директорию ! Добавлено через 3 минуты Ну опять-таки остается вопрос что если пользователь начнет производить какие-то изменения над файлом (файлы типа PDF RTF XLS ) и батнику просто неудастся произвести перенос этого файла так как пользователь производит его редактирование, он так и останется в этой директории ! Добавлено через 7 минут Сообщение от wildwolf007 а как быть с файлами типа ****rrtt.arj вы можете сразу сказать много у вас таких проверок будет? а то если много то лучше их все сразу делать а так по одной код слишком большой получится. Напишите только по нормальному какие файлы и как нужно обрабатывать а то в вашем коде который меняется разбираться очень долго и он скорее всего еще и не так работает как нужно. Напишу блок схему что б сразу было попонятней а то и вправду я постоянно добалвяю всякие проверки. Да и алгоритм обработки нуна наверное еще и написать в виде блок схемы т.к. потом все это можно будет переписать на любой другой язык программирования. Написать по нормальному не получится потому что я не знаю какие будут файлы добавляться я так предполагаю что будет типа условия IF номер ящика такой-то значит задействовать маски такие-то такие-то....
0
|
|
|
35 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 380
|
|||||||||||
| 19.11.2011, 23:52 [ТС] | |||||||||||
|
Чувствую алгоритм придется менять еще потому что, что б исключить вариант того что пользователь может открыть документ и редактировать. Я думаю можно простой проверкой на переименование файла.
1. Проверяем на возможность переименования 2. если переименовали то продолжаем дальше работать если не смогли переименовать выводим ошибку и оставляем файл без изменений выводя в лог имя ошибки. И еще вопрос пробовал кое-что изменять столкнулся с проблемой как в цикле установить что б при выполнении какого-то действия прогонять один проход если условие выполнено то не продолжать производить проверку а переходить к следующему файлу ?
Краткое описание работы алгоритма. Прошу не ругать за такое исполнение оформить не было времени Что б много времени не терять. 1й for устанавливаем имена файлов из директории rem Сначало проверяем на фильтр исключений rem Условия исключений будет зависеть как я понимаю от IF IF №ящика ==900 ( проверяем на исключения файлы типа IF RR??1234.060 == имя файла (для них отдельная песня) ) после фильтра исключений пошли по другим фильтрам проверять 2й for подставляем имена файлов и проверяем на RTF XLS TXT TIF здесь еще нужно установить проверку на, со сменой имени файла что б удостовериться свободен файл или занят пользователем (открыт пользователем) Ну как- то так но внутри FOR не получается
проверяет размер файла проверяет на ЭЦП в случае удачной проверки переносит в правильную директорию в случае какой-либо ошибки возвращает обратно пользователю на доработку 3,4,5 й for проверяем arj rar zip проверяет размер файла распаковываем во временную директорию TEMP и проверяем содержимое директории на ЭЦП и на запретные файлы DOC DOCX XLSX в случае удачной проверки переносит в правильную директорию и пишем лог в случае какой-либо ошибки возвращает обратно пользователю на доработку и пишем лог 6,7,8 првоеряем на XLSX DOC DOCX выкидываем в директорию с ошибкой и пишем лог 9й for если файл не провел ни по одному фильтру то выкидываем файл в директорию с ошибкой и пишем лог здесь везде работаем именно с именем так вот проблема в том что б выходить из первого фора (завершать этап для файла) в случае определения какого либо правила выходим и переходим первым фором на следующий файл. Пробовал Exit /b чето не так работает как я хочу. так же получается так что если два RTF документа проверяет первый и выходит из цикла и на следующем проходе проверяет следующий. Может использовать другой алгоритм ??????? Или дополнить и исправить этот....???
0
|
|||||||||||
|
835 / 349 / 12
Регистрация: 04.10.2009
Сообщений: 589
|
|
| 20.11.2011, 03:56 | |
|
так если такой алгоритм зачем надо было проверять на размер имени в ровно 8 символов?
0
|
|
|
35 / 27 / 0
Регистрация: 11.10.2011
Сообщений: 380
|
|
| 20.11.2011, 11:20 [ТС] | |
|
Здесь получается что первый фор просто берет все файлы, а фильтры внутри цикла уже для себя проверяют все необходимые решения по определенным правилам. Если не проходит не по одному фильтру то все отметает последний фор. Ровно 8 символов это необходимое условие для дальнейшей маршрутизации файла.
0
|
|
|
835 / 349 / 12
Регистрация: 04.10.2009
Сообщений: 589
|
||||||
| 21.11.2011, 16:30 | ||||||
0
|
||||||
| 21.11.2011, 16:30 | |
|
Даны два текстовых файла. Добавить в конец первого файла содержимое второго файла Даны два текстовых файла. Добавить в конец каждой строки первого файла соответствующую строку второго файла При чтении из файла последние данные считываются дважды !? eof() ? При построчном чтении файла eof наступает раньше срока std::cin, eof не всегда принимается как признак конца файла Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Доктрина интенционального знания - Доктрина для портала "Срез".
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`). . .
|