|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Многоуровневая рекурсия отличных друг от друга .bat файлов |
|
CMD/BAT - Многоуровневая рекурсия отличных друг от друга .bat файлов
|
Новый участник Сообщения: 15 |
Не знал как ещё обозначить более корректно тему. Проблема заключается в следующем: есть .bat файл, в нем прописаны разные команды (порядок может быть любой, если же для решения проблемы нужен конкретный, то пусть), среди команд есть инструкции по созданию отдельных .bat файлов (программа в программе программы и т.д.), в которых в дальнейшем будут аналогичные инструкции по созданию уже других .bat файлов, и возможно в этих, уже других новых .bat файлах будут уже другие инструкции. Возможно ли это? Обычное экранирование в данном случае выглядит очень жутко, % превращается в %%, а если и они включены в другую программу (подпрограмму), это выглядит ещё забористее, думаю это понятно. Была одна тема на этом сайте: CMD/BAT - [решено] Как записать в txt файл большой кусок текста с помощью bat. Но там скорее такой метод подойдет для одного лишь .bat файла внутри программы (если правильно понимаю). Если нужен пример, то ниже я постарался примерно описать суть наглядно:
@echo off setlocal enableextensions enabledelayedexpansion set sFile=BigText.txt more +10 "%~0">"%sFile%" endlocal exit /b 0 Тут какой-то текст Весь текст в батнике Здесь разные строки Будет много спецсимволов :^) `~!@#$%^&*()_+|\/.,;:'" Будут и другие команды, вот например |
|
Отправлено: 14:37, 16-04-2020 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать patrickfox, сложно как-то. Что такое код внутри кода. Эти все коды внутри кода, они однотипные? Может попробуете объяснить задачу сначала: какую задачу Вы решаете, а не как сделать батник.
|
------- Отправлено: 15:18, 16-04-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 15
|
Профиль | Отправить PM | Цитировать megaloman, Batch код внутри batch кода. Batch-скрипт, в дальнейшем именуемый "главный скрипт", содержит в себе команды на создание других batch-скриптов, в дальнейшем именуемых "скрипты 2-го порядка", которые содержат в себе команды на создание других batch-скриптов, в дальнейшем именуемых "скрипты n-го порядка" и т.д. Может есть ограничение этой "глубины" по уровню, учитывая что все это изначально прописано в главном скрипте? Ещё так же следует учитывать, что команды во всех скриптах разные, я имею в виде основная суть тех скриптов, пример я привел в шапке, хоть там и арифметика кажется однотипной, это лишь пример, команды на самом деле разные. Хотелось бы узнать есть ли метод создания подобных главных скриптов без многослойного экранирования, ну или если есть методы без экранирования, то на сколько они позволяют углубить этот "код внутри кода"? Получается же так, что в главном (самом первом скрипте) прописаны все операции по созданию следующих скриптов, ну и суть в том, что как только эти все операции пропишутся, главный скрипт закроется и эти скрипты n-го порядка будут действовать сами по себе, создавая других, или выполняя конкретные задачи. Пример сверху кратко описывает то, что необходимо, но там нет экранирования (для удобства чтения), а так же там нет команд echo, которые будут тоже наслоены друг на друга и чтение будет и без того осложнено. Надеюсь стало чуть понятнее.
|
Отправлено: 15:59, 16-04-2020 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать patrickfox, Вы не поняли. Вопрос был — не что, а зачем. Какую задачу Вы пытаетесь решить таким образом?
P.S. Не надо повторять то же самое описание: Вы описываете не задачу, а уже выбранный метод решения неизвестной задачи. |
Отправлено: 16:11, 16-04-2020 | #4 |
Новый участник Сообщения: 15
|
Профиль | Отправить PM | Цитировать Iska, прошу прощения, я просто не понимаю верно ли изъяснился в шапке, так, чтобы именно получить нужную информацию, а не готовое решение конкретной проблемы. Мой вопрос скорее не как лучше решить определенную задачу (пока что), а можно ли решить её этим методом (о существовании которого пытаюсь узнать). Мне не нужно, например, 10 таких подуровней, просто хотелось узнать как реализовать данный метод, на любой задаче, решение которой хотелось бы осуществить именно этим методом. А пример в шапке, это для малого удобства понимания (что именно в нем не хватает, уже объяснил, и почему тоже). Да, я описываю метод, задача, указанная выше она лишь типичная, но необходимо выполнить её этим методом. Возможно ли такое? Даже не знаю как ещё объяснить.
|
|
Отправлено: 16:56, 16-04-2020 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать patrickfox, а кто сказал, что «типичную задачу», которую Вы не хотите озвучить, нужно решать именно выбранным Вами способом? Понимаете?
|
Отправлено: 17:13, 16-04-2020 | #6 |
Новый участник Сообщения: 15
|
Профиль | Отправить PM | Цитировать Iska, да, это понятно, но как раз именно «типичная задача», про которую идет речь и размещена как пример в шапке. Если её можно решить другим способом, также буду рад услышать об этих возможностях. Если же нет, то актуальным остается тот метод, о котором и речь.
|
Отправлено: 17:42, 16-04-2020 | #7 |
Старожил Сообщения: 352
|
Профиль | Отправить PM | Цитировать Батники, которые делают другие батники, рано или поздно приведут к тому, что отладка того, что получится, превратится в насилие над мозгом.
Можно просто через метки сформировать отдельные функции (тем более, что эта тема уже знакома) и получить хорошо структурированный код. |
Отправлено: 18:59, 16-04-2020 | #8 |
Новый участник Сообщения: 15
|
Профиль | Отправить PM | Цитировать iglezz, только свой мозг конечным результатом если поднапрягу, метки тоже затея интересная, но пока меня волнует наличие иных рабочих методов создания подобной структуры батников помимо экранирования.
|
Отправлено: 19:47, 16-04-2020 | #9 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Подключение 2 мониторов независимо друг от друга на 1 видеокарту ? | dxRxb | Видеокарты | 4 | 11-10-2014 18:51 | |
2008 - Чем оличаются друг от друга эти издания? | Dr. Comp | Windows Server 2008/2008 R2 | 2 | 25-10-2012 12:05 | |
Разное - [решено] Word, как сделать две независимые друг от друга колонки? | amelika | Microsoft Office (Word, Excel, Outlook и т.д.) | 4 | 15-10-2011 02:08 | |
TTBToolbar, как можно отличать кнопки друг от друга? | Romanka | AutoIt | 6 | 04-07-2011 19:29 | |
Прочее - Изолировать рабочие группы друг от друга | tentakle | Сетевые технологии | 6 | 16-02-2011 21:12 |
|