Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 2000/XP/2003 » (статья) Переменные среды

Ответить
Настройки темы
(статья) Переменные среды

(*.*)


Сообщения: 36570
Благодарности: 6700


Конфигурация

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: Vadikan
Дата: 15-02-2006
Цитата:
В этой статье будут рассмотрены два типа переменных, использующихся в командных (пакетных, исполняемых) файлах, оболочках программ выбора приложений для автоматической установки и тому подобных случаях для задания путей командам установки, копирования, перемещения, а также прочих операций, совершаемых над файлами. Использование абсолютных путей (c:\Documents and Settings\All Users\Рабочий стол) не всегда удобно (так как, например, мы не всегда заранее знаем, на каком диске у нас возникнет необходимость установить операционную систему), а при использовании пременных сред (%ALLUSERSPROFILE%\Рабочий стол) и локальных переменных, получается гораздо короче, удобнее и не привязывает к определенной букве диска.
Читать дальше...
Статья основана на сообщении specialist в теме Маленькие Хитрости.

-------
Канал Windows 11, etc | Чат @winsiders

Это сообщение посчитали полезным следующие участники:

Отправлено: 09:55, 15-02-2006

 

(*.*)


Сообщения: 36570
Благодарности: 6700

Профиль | Сайт | Отправить PM | Цитировать


amel27
TEMP - либо системаная, либо пользовательская (HKCU\Environment), но не локальная. Добро пожаловать в клуб запутавшихся
Цитата:
Первый способ прямой, но запрещенный (для переименования каталога недостаточно), второй - правильный, но косвенный..
Ну скорее всего, при изменении пути в этих параметрах, все последующие установки ПО будут предлагать по умолчанию новую директорию, указанную в параметре. Т.е. перенос, конечно, неполный, но и на работоспособность системы он не должен повлиять, разве что на приложения в старой директории при плохих раскладах

Можно так
Цитата:
Пути, возвращаемые переменными %PROGRAMFILES% и %COMMONPROGRAMFILES%, можно изменить в параметрах ProgramFilesDir и CommonFilesDir в HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion, но правильнее задавать пути через файл ответов.

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 12:24, 20-02-2006 | #21



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата:
TEMP - либо системаная, либо пользовательская (HKCU\Environment), но не локальная. Добро пожаловать в клуб запутавшихся
В моей классификации противоречия нет: HKCU - это "локальная"; а "пользовательская" - значит создаваемая/изменяемая пользователем для своих нужд (даже если этот пользователь Администратор). Нелегитимные способы правки я бы вообще не выносил в статью, разве только в смысле "подсмотреть значение" (как это умеет делать Руссинович), остальное - на совести читателя.

Отправлено: 12:46, 20-02-2006 | #22



Moderator


Сообщения: 53584
Благодарности: 15542

Профиль | Отправить PM | Цитировать


Vadikan
Цитата:
Пути, возвращаемые переменными %PROGRAMFILES% и %COMMONPROGRAMFILES%, можно изменить в параметрах ProgramFilesDir и CommonFilesDir в HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion или через файл ответов.
Через файл ответов - можно.
После установки системы (через реестр) - не рекомендую. Когда-то проводил такой эксперимент, после этого не работает Outlook Express.

Поправка: то есть, некоторые программы привязываются к абсолютному пути, а некоторые - как раз к переменной %ProgramFiles% (что ставит эти программы в неудобное положение :)

-------
«Компьютеру стало совсем худо, и он решил прекратить свои страдания».

Msgina.dll, диалог 2210


Последний раз редактировалось Petya V4sechkin, 20-02-2006 в 21:12.


Отправлено: 13:02, 20-02-2006 | #23


Аватара для a1ex

Новый участник


Сообщения: 26
Благодарности: 1

Профиль | Отправить PM | Цитировать


Vadikan
Цитата:
Вроде проясняется. Видимо, локальные переменные сидят в HKCU и больше нигде.
Вернулись к моему первому письму в этой ветке . Цитата из МС: Системные переменные среды определяют поведение глобальной среды операционной системы. Локальные переменные среды определяют поведение среды в данном экземпляре Cmd.exe. А где эти переменные сидят, это уже второй вопрос.
Цитата:
А что такое встроенные? Видимо те, что в HKLM лежат
как раз те, которые там не лежат. time, date
Цитата:
Даже если в HKLM зaгнать свою username, это не будет иметь эффекта.
если процесс будет запущен от имени системы, то системное username не будет переопредено и останется значение из HKLM, только какой в этом практический смысл .
Цитата:
TEMP - либо системаная, либо пользовательская (HKCU\Environment), но не локальная.
пользовательская т.к. прописана в HKCU. и локальная т.к. не имеет действия на все процессы ( если прописана в HKCU). Если прописана пользовательская, то она в конце концов переопределит системную при входе юзера. Если не прописана , то будет иметь значение системная.

Отправлено: 01:04, 21-02-2006 | #24


(*.*)


Сообщения: 36570
Благодарности: 6700

Профиль | Сайт | Отправить PM | Цитировать


a1ex
Цитата:
Вернулись к моему первому письму в этой ветке . Цитата из МС: Системные переменные среды определяют поведение глобальной среды операционной системы. Локальные переменные среды определяют поведение среды в данном экземпляре Cmd.exe.
А Пуск - Выполнить тоже является частью командной оболочки?
Цитата:
А где эти переменные сидят, это уже второй вопрос.
Но очень интересный
Цитата:
[Temp] - пользовательская т.к. прописана в HKCU. и локальная т.к. не имеет действия на все процессы ( если прописана в HKCU).
Т.е. пользователсьскя = локальная, так?

Petya V4sechkin
Цитата:
Через файл ответов - можно. После установки системы (через реестр) - не рекомендую. Когда-то проводил такой эксперимент, после этого не работает Outlook Express.
Да, ну я же сказал, софт может не работать Надо тогда просто сказать
Цитата:
Пути, возвращаемые переменными %PROGRAMFILES% и %COMMONPROGRAMFILES%, можно задать через файл ответов.
Вроде корректно - переменную мы не меняем. Так они все-таки локальные или системные? )


-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 04:00, 21-02-2006 | #25


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата:
Т.е. пользователсьскя = локальная, так?
Перед любой классификацией нужно сначала определиться с критериями, тогда будет сложно запутаться независимо от названий.

Итак, если критерий - область видимости, тогда имеем: системные, локальные сессии, локальные процесса. Программисты подтвердят, что перекрытие имен - вполне штатная ситуация.

Упоминание о "встроенных" переменных наводит на мысль, что должны быть и "не встроенные", здесь скорее всего идет речь о возможности изменять значение этих переменных, т.е. о "владельце" этих переменных - либо это система ("встроенные"), либо пользователь ("???"). Последние ИМХО вполне логично назвать "пользовательскими", хотя с HKCU это никак не связано, т.к. админ может создать свою (т.е. пользовательскую) переменную и в HKLM.

Понятно, что такая классификация идет вразрез со справкой и даже противоречит здравому смыслу, т.к. правильней было бы назвать глобальные/локальные и системные/пользовательские соответственно...

Отправлено: 04:29, 21-02-2006 | #26


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата:
Цитата:
А где эти переменные сидят, это уже второй вопрос.
Но очень интересный
Конечно, можно и этот критерий поставить в основание классификации, но придется учесть что кроме HKLM и HKCU есть еще HKU\.DEFAULT (профиль учетной записи SYSTEM), а также переменные, которые вовсе не хранятся в реестре (расчетные). С учетом всех четырех вариантов называть первые две "Системными" и "Пользовательскими" ИМХО было бы нелогично.

Отправлено: 05:43, 21-02-2006 | #27


Аватара для a1ex

Новый участник


Сообщения: 26
Благодарности: 1

Профиль | Отправить PM | Цитировать


Vadikan
Цитата:
Т.е. пользователсьскя = локальная, так?
ну да, она же не расространяется на все процессы в системе

Отправлено: 11:23, 21-02-2006 | #28


(*.*)


Сообщения: 36570
Благодарности: 6700

Профиль | Сайт | Отправить PM | Цитировать


Вот-вот, если б справка в справке была четкая классификация, то не было бы проблем и в статье. А тут приходится извиваться между справкой и здравым смыслом

Так что там с %PROGRAMFILES%-то? К каким переменным мы их относим? Я уже хочу добить это дело.

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 11:41, 21-02-2006 | #29


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата:
Так что там с %PROGRAMFILES%-то? К каким переменным мы их относим?
ИМХО "системная" по всем показателям

Отправлено: 12:50, 21-02-2006 | #30



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка Windows 2000/XP/2003 » (статья) Переменные среды

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [статья] Использование среды восстановления Windows RE в Windows 7 Vadikan Microsoft Windows 7 38 06-02-2014 22:39
[решено] Переменные среды папок "Мои рисунки", "Моя музыка" или общие Redew Автоматическая установка Windows 2000/XP/2003 9 03-10-2009 20:43
[статья] Создание переменной среды, соответствующей букве установочного диска Vadikan Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista 0 17-01-2009 18:21
Переменные среды и пути ярлыков Igor99999 Microsoft Windows 2000/XP 0 22-05-2007 16:39
настройка среды в MS VC 6.0 mrcnn Программирование и базы данных 5 29-03-2004 04:07




 
Переход