Рядом со скриптом лежит папка bin в которой есть файлы консольного архиватора: 7z.exe и 7z.dll версии 9.30.
В папках c:\Windows\System32 и c:\Windows\SysWOW64 лежат аналогичные пары файлов, но версии 4.65
OC Win7SP1 x64
Задача: используя переменную PATH, (не используя полные пути к архиватору) вызвать архиватор именно из папки bin
Тестовый скрипт:
Ни один из вариантов не срабатывает! Переменная PATH меняется, но всегда запускается версия 4.65. :(
1 Почему так происходит?
2 Как решить задачу?
3 Какой эффект должен быть от EnvUpdate()? Я его не обнаруживаю.
Спасибо.
В папках c:\Windows\System32 и c:\Windows\SysWOW64 лежат аналогичные пары файлов, но версии 4.65
OC Win7SP1 x64
Задача: используя переменную PATH, (не используя полные пути к архиватору) вызвать архиватор именно из папки bin
Тестовый скрипт:
Код:
$7z = '7z.exe'
; Вариант 1
EnvSet('PATH', @ScriptDir & '\bin;' & EnvGet('PATH'))
; Вариант 2
; EnvSet('PATH', EnvGet('PATH') & ';' & @ScriptDir & '\bin')
; Вариант 3
; EnvSet('PATH', @ScriptDir & '\bin')
EnvUpdate()
MsgBox(4096, 'Значение %Path%', EnvGet('PATH'))
RunWait($7z & ' b')
Exit
Ни один из вариантов не срабатывает! Переменная PATH меняется, но всегда запускается версия 4.65. :(
1 Почему так происходит?
2 Как решить задачу?
3 Какой эффект должен быть от EnvUpdate()? Я его не обнаруживаю.
Спасибо.