![]() |
странный возврат макроса @TempDir
суть проблемы:
1. вношу твиками новые значение для путей к папкам временных файлов (Temp) и переменных сред (Tmp): а)Temp (например, путь D:\1) Код: Код:
$Input_MyTemp = 'D:\1' Код: Код:
$Input_MyTmp ='D:\Tweaks' а) Temp - D:\1 б) Tmp - D:\Tweaks 3. В итоге получаем: Реестр - все согласно твиков Панель управления -> Система -> Дополнительно -> Переменные среды - все согласно твиков Вызов Msgbox (0, '', @TempDir) упорно возвращает D:\Tweaks... Не понимаю, что я сделал не так??? PS Папки Temp и Tmp уже созданы. |
saavaage, как и здесь: #4, текущий процесс уже имеет установленную среду. Это раз. Второе — данные параметры считываются из реестра при старте ОС/входе пользователя в систему соответственно, так что, банально сделать запись в реестр недостаточно. В некоторые Resource Kit'ы входит утилита «setx.exe», одно из применений которой — задание переменных окружения (опять же, только для вновь создаваемых процессов) с сохранением в профиле [читай, реестре] системы/текущего пользователя. Как выполнить уведомление о произведённых изменениях в реестре смотрите в самом конце статьи Environment Variables (Windows):
|
Cпасибо большое, пошел курить маны... :)
И все-таки, непонятно, почему макрос отображает не просто старое значение, а неверное значение (я менял и Temp и Tmp и он отображает, именно, новый путь к Tmp, вместо старого пути к Temp ("С:\Temp"))... |
итак, на настоящий момент выяснил следующее:
1. макрос @TempDir должен отображать путь к папке временных файлов, считанный системой при ее загрузке. Т.е. при изменении в входе сессии пользователем, все равно, отображаются старые значения. 2. при разных путях к Temp и Tmp макрос @TempDir отображает путь к Tmp, игнорируя Temp. Даже после перезагрузки он стандартно отображает путь к Tmp, а не к моей папке временных файлов Temp. 3. Складывается ощущение, что макрос изначально выдает информацию именно по Tmp, а не Temp. Проверить быстро не могу, т.к. у меня изначально винда ставится с одинаковым путем и для Temp и Tmp... PS Во избежания эффекта "кривых ручек" для задания новых значений Temp и Tmp применял вполне официальную утилиту setenv.exe. Эффект - аналогично эффекту вноса через твики (в шапке). Если возможно, уважаемые гуру, отпишитесь баг ли это и если нет, то в чем я не прав... |
Путь то есть а папки нет - надо создать папку ...
|
FlatX007, ну я не такой дремучий... Папка уже создана, просто в примере я этого не указывал, думал, что это очевидно... Шапку поправил.
|
тут все папки ...
Код:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders |
FlatX007,
считать информацию можно (так или иначе), вопрос в том, что у меня в скрипте (утилита SmartXP) много завязано на создании файлов и их подхвате через переменную @TempDir и меня эта ситуация (с некорректным возвратом), очень сильно напрягает. Да и на будущее, этот вопрос необходимо "дожать". |
Цитата:
Цитата:
|
Iska, для чего тогда в панели управления и реестре предусмотрена возможность задания разных путей для Tmp и Temp?
Цитата:
PS у меня и Tmp и Temp имеют одно и тоже месторасположение, но как с этим у других юзеров я могу только догадываться... |
Цитата:
|
Тема более детально была обсуждена на русском форуме.
Ссылка http://autoit-script.ru/index.php/topic,2916.0.html Чтобы не плодить топики, закрываю как решенную Спасибо, Iska, за помощь! |
Время: 23:01. |
Время: 23:01.
© OSzone.net 2001-