|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] странный возврат макроса @TempDir |
|
|
[решено] странный возврат макроса @TempDir
|
Ветеран Сообщения: 903 |
Профиль | Отправить PM | Цитировать
суть проблемы:
1. вношу твиками новые значение для путей к папкам временных файлов (Temp) и переменных сред (Tmp): а)Temp (например, путь D:\1) Код: $Input_MyTemp = 'D:\1' RunWait(@COMSPEC & ' /c Echo Y | Cacls ' & $Input_MyTemp&' /E /P "Все":F', '', @SW_HIDE) RegWrite('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'TEMP', 'REG_SZ', $Input_MyTemp) ;~ RegWrite('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet\Control\Session Manager\Environment', 'TEMP', 'REG_SZ', $Input_MyTemp) RegWrite('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment', 'TEMP', 'REG_SZ', $Input_MyTemp) RegWrite('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Session Manager\Environment', 'TEMP', 'REG_SZ', $Input_MyTemp) RegWrite('HKEY_CURRENT_USER\Environment', 'TEMP', 'REG_SZ', $Input_MyTemp) Код: $Input_MyTmp ='D:\Tweaks' RegWrite('HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'TMP', 'REG_SZ', $Input_MyTmp) ;~ RegWrite('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet\Control\Session Manager\Environment', 'TMP', 'REG_SZ', $Input_MyTmp) RegWrite('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment', 'TMP', 'REG_SZ', $Input_MyTmp) RegWrite('HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Session Manager\Environment', 'TMP', 'REG_SZ', $Input_MyTmp) RegWrite('HKEY_CURRENT_USER\Environment', 'TMP', 'REG_SZ', $Input_MyTmp) а) Temp - D:\1 б) Tmp - D:\Tweaks 3. В итоге получаем: Реестр - все согласно твиков Панель управления -> Система -> Дополнительно -> Переменные среды - все согласно твиков Вызов Msgbox (0, '', @TempDir) упорно возвращает D:\Tweaks... Не понимаю, что я сделал не так??? PS Папки Temp и Tmp уже созданы. |
|
------- Отправлено: 09:51, 20-10-2010 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать saavaage, как и здесь: #4, текущий процесс уже имеет установленную среду. Это раз. Второе — данные параметры считываются из реестра при старте ОС/входе пользователя в систему соответственно, так что, банально сделать запись в реестр недостаточно. В некоторые Resource Kit'ы входит утилита «setx.exe», одно из применений которой — задание переменных окружения (опять же, только для вновь создаваемых процессов) с сохранением в профиле [читай, реестре] системы/текущего пользователя. Как выполнить уведомление о произведённых изменениях в реестре смотрите в самом конце статьи Environment Variables (Windows):
|
Отправлено: 12:13, 20-10-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 903
|
Профиль | Отправить PM | Цитировать Cпасибо большое, пошел курить маны...
И все-таки, непонятно, почему макрос отображает не просто старое значение, а неверное значение (я менял и Temp и Tmp и он отображает, именно, новый путь к Tmp, вместо старого пути к Temp ("С:\Temp"))... |
------- Отправлено: 15:18, 20-10-2010 | #3 |
Ветеран Сообщения: 903
|
Профиль | Отправить PM | Цитировать итак, на настоящий момент выяснил следующее:
1. макрос @TempDir должен отображать путь к папке временных файлов, считанный системой при ее загрузке. Т.е. при изменении в входе сессии пользователем, все равно, отображаются старые значения. 2. при разных путях к Temp и Tmp макрос @TempDir отображает путь к Tmp, игнорируя Temp. Даже после перезагрузки он стандартно отображает путь к Tmp, а не к моей папке временных файлов Temp. 3. Складывается ощущение, что макрос изначально выдает информацию именно по Tmp, а не Temp. Проверить быстро не могу, т.к. у меня изначально винда ставится с одинаковым путем и для Temp и Tmp... PS Во избежания эффекта "кривых ручек" для задания новых значений Temp и Tmp применял вполне официальную утилиту setenv.exe. Эффект - аналогично эффекту вноса через твики (в шапке). Если возможно, уважаемые гуру, отпишитесь баг ли это и если нет, то в чем я не прав... |
------- Отправлено: 18:30, 20-10-2010 | #4 |
Ветеран Сообщения: 553
|
Профиль | Отправить PM | Цитировать Путь то есть а папки нет - надо создать папку ...
|
|
Отправлено: 21:24, 20-10-2010 | #5 |
Ветеран Сообщения: 903
|
Профиль | Отправить PM | Цитировать FlatX007, ну я не такой дремучий... Папка уже создана, просто в примере я этого не указывал, думал, что это очевидно... Шапку поправил.
|
------- Отправлено: 23:55, 20-10-2010 | #6 |
Ветеран Сообщения: 553
|
Профиль | Отправить PM | Цитировать |
Отправлено: 00:14, 21-10-2010 | #7 |
Ветеран Сообщения: 903
|
Профиль | Отправить PM | Цитировать FlatX007,
считать информацию можно (так или иначе), вопрос в том, что у меня в скрипте (утилита SmartXP) много завязано на создании файлов и их подхвате через переменную @TempDir и меня эта ситуация (с некорректным возвратом), очень сильно напрягает. Да и на будущее, этот вопрос необходимо "дожать". |
------- Отправлено: 00:21, 21-10-2010 | #8 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата FlatX007:
Цитата saavaage:
|
||
Отправлено: 05:21, 21-10-2010 | #9 |
Ветеран Сообщения: 903
|
Профиль | Отправить PM | Цитировать Iska, для чего тогда в панели управления и реестре предусмотрена возможность задания разных путей для Tmp и Temp?
Цитата Iska:
PS у меня и Tmp и Temp имеют одно и тоже месторасположение, но как с этим у других юзеров я могу только догадываться... |
|
------- Отправлено: 06:24, 21-10-2010 | #10 |
|
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - Открытие htm файла в Excel'e и применение к нему макроса | foxintel | Скриптовые языки администрирования Windows | 0 | 13-04-2010 03:40 | |
2003/XP/2000 - [решено] Excel | Отмена изменений после макроса | AlexM | Microsoft Office (Word, Excel, Outlook и т.д.) | 3 | 07-02-2010 03:19 | |
Разное - Возврат ПО | djeff | Лицензирование продуктов Microsoft | 6 | 17-04-2009 11:37 | |
[решено] Возврат DC в домен | Jekael | Microsoft Windows NT/2000/2003 | 10 | 26-11-2007 10:34 | |
Возврат к предыдущей версии | Birdy | Хочу все знать | 10 | 24-05-2005 06:35 |
|