dasm
![](http://forum.ru-board.com/board/avatars/YoshiIcon.gif)
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Accessor Вот это можно было найти по команде help for: Цитата: Поясняющий пример: FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k эта команда обрабатывает файл myfile.txt, пропускает все строки, которые начинаются с символа точки с запятой, и передает вторую и третью подстроки из каждой строки в тело цикла, причем подстроки разделяются запятыми и/или пробелами. В теле цикла переменная %i используется для второй подстроки, %j - для третьей, а %k получает все оставшиеся подстроки после третьей. Имена файлов, содержащие пробелы, необходимо заключать в двойные кавычки. Для того чтобы использовать двойные кавычки, необходимо использовать параметр usebackq, иначе двойные кавычки будут восприняты как границы строки для обработки. Переменная %i явно описана в инструкции for, а переменные %j и %k описываются неявно с помощью ключа tokens=. Ключ tokens= позволяет извлечь из одной строки файла до 26 подстрок, при этом, не допускается использование переменных больших чем буквы 'z' или 'Z'. Следует помнить, что имена переменных FOR являются глобальными, поэтому одновременно не может быть активно более 52 переменных. | Особо попрошу обратить внимание на выделенный текст. Ignat Цитата: Программа может стоять и на 98, 2к, ХР и 2к3, эта ветка реестра у всех одинаковая? | Скорее всего, да. Для универсальности, прийдется добавить кучу строчек: regedit /ea tmp10.reg HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\10.0\Common\InstallRoot ..... regedit /ea tmp5.reg HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\5.0\Common\InstallRoot а потом использовать if exist tmpx ... где x=5...11. Да, еще конечно удалить все reg-файлы. Скорее всего в системе установлен только один офис, поэтому файл будет один. Как по-другому узнать версию офиса, я по не знаю. | Всего записей: 287 | Зарегистр. 05-12-2003 | Отправлено: 20:37 29-12-2005 | Исправлено: dasm, 20:40 29-12-2005 |
|