|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Запись и чтение конфигурации из файла |
|
CMD/BAT - [решено] Запись и чтение конфигурации из файла
|
Новый участник Сообщения: 8 |
Профиль | Отправить PM | Цитировать Парни, кто знает выручите. Возникла ситуация - нужно сделать следующее. Имеется bat, при запуске пользователь видит табличку, где определенному выбору присвоена цифра. Далее он вводит цифру, и в одном txt файле вписывается новая строка.
Но беда в том, иногда приходится добавлять новую строчку, при этом приходится вписывать новую строчку в таблицу батника, + новую переменную, значение которой буте пихаться в txt. Скажите возможно ли как либо хранить данные вида имя=значение в отдельном файле. При запуске, вытаскивать "имя", вставлять в табличку. При определенном выборе пользователя, искать "имя" в этом файле, выдирать его "значение" и вписывать куда мне нужно? Или хотя бы подскажите как мне запихать в переменную строчку из txt? |
|
Отправлено: 13:07, 28-12-2010 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Если быть более точным, сейчас покажу сам код - и то что нужно на самом деле..
@echo off color F chcp 1251 >nul title Select REalm echo --------------------------------- echo Здравствуйте! echo Пожалуйста, выберите рилм! echo --------------------------------- echo 1 - Wowcircle.com rait - x15 echo 2 - Wowcircle.com rait - x30 :start color F set /p choice=Ваш выбор: if %choice% LSS 3 ( if %choice%==1 ( echo>realmlist.wtf set realmlist logon.wowcircle.com ) if %choice%==2 ( echo>realmlist.wtf set realmlist logon2.wowcircle.com ) if %choice%==4 ( set rout=%r4% echo>realmlist.wtf set realmlist logon.wow.san.ru ) goto end ) else ( goto start ) :end cls pause |
Отправлено: 13:39, 28-12-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Цитата alexusankov:
@Echo Off For /F "tokens=1* delims==" %%i In (var.txt) Do Set %%i=%%j :: проверка считанных переменных Echo %%Ver%% %Ver% Echo %%Build%% %Build% Echo %%Day%% %Day% Pause>Nul Все остальное в задании слишком сумбурно и анализу не поддается... |
|
Отправлено: 13:42, 28-12-2010 | #3 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Так вот, при добавлении новой строчки, приходится добавлять новый пункт, примерно в строку 9-10, и так же приходится дописывать в блок if новую строчку типа echo>realmlist.wtf set realmlist logon.wow.san.ru
.. Вот нужно замутить чтобы, программа читала файл типа Wowcircle.com rait - x15=set realmlist logon.wowcircle.com значение ДО равно пихала в заголовок, а Значание ПОСЛЕ равно пихала в переменную. Ну примерно так. Или хотя бы подскажите как мне строку из файла запихать в переменную?? Сек, сейчас осмыслю код Я сейчас пример кода своего привел, можно как либо сделать чтоб было чтение из файла? Или просто код для чтения 1й строчки из файла? |
Отправлено: 13:42, 28-12-2010 | #4 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Еще раз , попытаюсь разложить. Кто может поясните на примере кода echo 1 - Wowcircle.com rait - x15 echo 2 - Wowcircle.com rait - x30 sеt /p choice=Ваш выбор: if %choice% LSS 3 ( if %choice%==1 echo>realmlist.wtf set realmlist logon.wowcircle.com if %choice%==2 echo>realmlist.wtf set realmlist logon2.wowcircle.com pause +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Вот это непосредственно код. Я пытаюсь добиться следующего. Нужно можернизировать код, чтобы: Данные, которые сейчас в первой строке, соответствуют строкам которые я вписываю в файл, см. 5 и 6 строчки. Беда в том, что постоянно добавляю в файл новые пункты. Хотелось бы, чтобы каким либо образом, программа вытаскивала из txt файла сами заголовки, и после того как юзер выбрал пункт, из йфайла вытаскивалось значение и вписывалось в нужный мне файлик Gora, щас я на основании твоего кода набросаю свой, глянешь.. Я с циклами пока не особо дружу |
|
Последний раз редактировалось alexusankov, 28-12-2010 в 14:06. Причина: ........... Отправлено: 14:04, 28-12-2010 | #5 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать ,,,,,,,,,,,,,,,,,,,
|
Последний раз редактировалось alexusankov, 28-12-2010 в 14:57. Причина: 333333333333 Отправлено: 14:41, 28-12-2010 | #6 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Попробуйте так:
@echo off SetLocal enabledelayedexpansion color F chcp 1251 >nul title Select REalm echo --------------------------------- echo Здравствуйте^^! echo Пожалуйста, выберите рилм^^! echo --------------------------------- Set cnt=0 For /F "tokens=1* delims=," %%i In (var.txt) Do ( Set /a cnt+=1 Set l!cnt!=%%j echo !cnt! - %%i ) :_start set /p choice=Ваш выбор: if %choice% GTR %cnt% goto :_start For /L %%i In (1,1,%cnt%) DO If %choice%==%%i Echo !l%%i!>realmlist.wtf cls chcp 866 >nul pause Wowcircle.com rait - x15,set realmlist logon.wowcircle.com Wowcircle.com rait - x30,set realmlist logon2.wowcircle.com Wowcircle.com rait - x45,set realmlist logon.wow.san.ru Цитата alexusankov:
|
|
Последний раз редактировалось gora, 28-12-2010 в 15:13. Причина: Не выводились восклицательные знаки в Echo Отправлено: 14:42, 28-12-2010 | #7 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Спасибо тебе огромное, все работает!! Сам бы такой код писал дня четыре , не меньше, т.к. первый мой bat.. В принципе все работает идеально, дальше дописываю сам. По вашему коду только 1 вопрос:
1. Сейчас буду дописывать вторую часть батника, ради которой все это и затевалось, чтобы непосредственно из него добавлять строки в var.txt. Если вас не затруднит, подскажите какой командой, можно дописать в КОНЕЦ файлика? Заранее благодарен |
Отправлено: 15:04, 28-12-2010 | #8 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Цитата alexusankov:
|
|
Отправлено: 15:08, 28-12-2010 | #9 |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Все, спасибо тебе огромное добрый человек)
В принципе вопросов больше нет, правда есть нюанс небольшой, но думаю разберусь сейчас. В строке ввода которую предлагают юзеру, у меня раньше если число не соответствовало нужному, его перекидывало в настройки через goto. В этом коде пока не разобрался еще Все, разобрался! Автору еще раз огромная благодарность!!!! |
Отправлено: 15:14, 28-12-2010 | #10 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Построчное чтение файла и запись в другой | acefoster | Скриптовые языки администрирования Windows | 11 | 28-03-2024 08:02 | |
CMD/BAT - чтение / запись *.txt | RUVATA | Скриптовые языки администрирования Windows | 8 | 06-08-2010 15:43 | |
[решено] Чтение-запись битого файла | vit777 | Видео и аудио: обработка и кодирование | 3 | 19-12-2007 09:45 | |
Запись/чтение в/из файла по строчно + удаление элементов... | Georgiy | Вебмастеру | 5 | 18-07-2004 14:40 | |
Чтение и запись CD-R дисков... | GulaG | Хочу все знать | 25 | 08-06-2004 20:15 |
|