|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - чтение / запись *.txt |
|
CMD/BAT - чтение / запись *.txt
|
Старожил Сообщения: 301 |
Профиль | Отправить PM | Цитировать Всем доброго времени суток ...
Продолжаю попытки освоить bat , спасибо всем кто отвечает в моих темах, за терпение к порой банальным проблемам и глупым вопросам. Вот например еще одна, готов внимать мудрость гуру Задача - По ходу выполнения батника создать *.txt записать в него значение переменной, открыть/прочитать другой *txt и получить из него новое значение переменной ( соответственно из определенной строки) Ознакомился http://forum.oszone.net/thread-181512.html этого форума. Вот в этом примере... есть вроди бы все необходимое для решения моей задачи... прокомментируйте пожалуйста этот код, что к чему. |
|
------- Отправлено: 11:00, 06-08-2010 |
Пользователь Сообщения: 140
|
Профиль | Отправить PM | Цитировать RUVATA,
хм... комментарии тут излишни, код абсолютно прозрачен, но все же: из списка первого файла извлекаются имена, для каждого из них выполняются следующие операции - запись полученого имени (т.е. подстроки %%i) в переменную %nm%, открытие файла с предложениями, подстановка значения переменной %nm% в эти предложения и запись, полученного текста в новый файл. Для записи и чтения, можно воспользоваться таким приемом (я работаю с одним файлом....): Запись через Set - просто для дополнительной информации, если исключить Echo. ,то все значения будут записываться в одну строку, если это не нужно, то достаточно просто Echo "текст". Подробнее расскажет справка... |
Отправлено: 11:19, 06-08-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать Цитата RUVATA:
Построчное чтение (имен) из файла names.txt Присвоение переменной nm прочитанного из файла имени Построчное чтение из файла text.txt. Применить в этом цикле простое Echo %%k не получится, т.к., переменная %nm%, содержащаяся в строках файла text.txt, не раскроется в значение этой переменной. Для этого раскрытия применен следующий цикл: Здесь уже в переменной %%j значение %nm% будет раскрыто. Перевод строки после каждого вывода из text.txt согласно постановке задачи. Самая первая скобка во второй строке и самая последняя скобка в последней строке - вывод всех операторов Echo в этих кавычках не на экран консоли, а в файл out.txt Цитата RUVATA:
1 Укажите названия обоих файлов (желательно) 2 Приведите содержание второго файла, из которого нужно читать в переменную 3 Укажите номер строки, которую нужно прочитать в переменную Упс... Опередили. deepred, тогда Вы продолжайте, а я ушел... |
||
Отправлено: 11:35, 06-08-2010 | #3 |
Старожил Сообщения: 301
|
Профиль | Отправить PM | Цитировать Приведенный в теме код - из примера http://forum.oszone.net/thread-181512.html
это не мой случай... я просто хотел понять как использовать оператор For для чтения то есть с параметром /f справка - зло я из нее ничего не понял, по крайней мере на лету... думал, что описание примера мне будет доступнее... видимо ошибался Цитата:
если можно приведите мне пример кода для вот такой задачи: Условимся: файл text.txt имеет следующее содержание Цитата:
Цитата:
получить в переменную Second значение 2 строки текстового файла text.txt >> в переменной Mute получить конкатенацию First, "двух символов \\" и Second создать new.txt записать в него 1-ой строкой значение Fist 2-ой строкой значение Mute т.е. содержание new.txt должно получится Цитата:
|
||||
------- Последний раз редактировалось RUVATA, 06-08-2010 в 13:37. Отправлено: 12:34, 06-08-2010 | #4 |
Старожил Сообщения: 168
|
Профиль | Отправить PM | Цитировать RUVATA,
@echo off>nul setlocal enableextensions enabledelayedexpansion (set first=своя строка set second=way set mute=cola for /f "skip=1 tokens=*" %%i in (text.txt) do set second=%%i & goto :next ) :next set mute=%First%\\%Second% echo %First% > new.txt echo %mute% >>new.txt |
|
------- Отправлено: 15:04, 06-08-2010 | #5 |
Старожил Сообщения: 301
|
Профиль | Отправить PM | Цитировать Спасибо... вот именно этого я и хотел...
остались только маленькие нюансы, если не сложно, если не трудно Цитата Олег97:
сначала > а потом >> echo - ж вроде отвечает onli за коменты |
|
------- Отправлено: 15:17, 06-08-2010 | #6 |
Старожил Сообщения: 168
|
Профиль | Отправить PM | Цитировать Цитата RUVATA:
">>" просто дописывает строку в файл если в обоих случаях указать >, то вторая команда удалит файл new.txt, созданный первой командой, создаст его, и запишет в него %mute% |
|
------- Отправлено: 15:20, 06-08-2010 | #7 |
Ушёл из жизни Сообщения: 6021
|
Профиль | Отправить PM | Цитировать RUVATA, рекомендую прочесть для начала:
Урок bat-аники Особенности реализации командного процессора cmd.exe операционных систем WinNT, или Урок bat-аники 2-ой А также можете скачать справку по командам CMD из этого поста и держать ее под рукой. |
Отправлено: 15:28, 06-08-2010 | #8 |
Старожил Сообщения: 301
|
Профиль | Отправить PM | Цитировать понял... - надо читать "Маркса"
Спасибо, Спасибо, Спасибо.... Ситуация заставляет сталкиваться с администрированием ЛВС... знаний конечно - кот наплакал Надысь автоматизировать многие процессы... умные люди очень уверенно настаивали на возможностях BAT... я и слушаюсь... (молодой неопытный). Пишу на VBA, соответственно и Visual Basic (Script, в среде VB-studio) проблемой не будет т.е. решить многие задачи я могу иначе - полноценными приложениями, хотя для большинства задач приложение - лихо! игра не стоит свеч. Хотелось бы авторитетного мнения... Если есть опыт VB стоит ли заморачиваться с изучением возможностей BAT, или может есть еще варианты? Может есть интерактивная среда для BAT? |
------- Отправлено: 15:43, 06-08-2010 | #9 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
.NET - Запись настроек программы в файл txt и чтение этих настроек обратно | ProgrammerPC | Программирование и базы данных | 4 | 11-12-2009 10:46 | |
[решено] Чтение-запись битого файла | vit777 | Видео и аудио: обработка и кодирование | 3 | 19-12-2007 09:45 | |
чтение и запись в реестр под администратором ????? | paspartu | Microsoft Windows 2000/XP | 2 | 08-10-2006 14:17 | |
Чтение и запись CD-R дисков... | GulaG | Хочу все знать | 25 | 08-06-2004 20:15 | |
Чтение/запись на разделе | Spijon | Общий по Linux | 8 | 07-10-2003 20:57 |
|