Войти

Показать полную графическую версию : когда имена короткие, когда имена длинные ...


akrav
06-02-2008, 11:03
Подскажите, пожалуйста, от чего зависит, что на одном компьютере в режиме командной строки используются длинные имена папок, а иногда короткие.
Есть два пока еще живых :) примера, на одном компе в результате команды sc qc [имя процесса] в поле BINARY_PATH_NAME указан полный путь, на другом компе короткий вариант. Чтобы это могло означать?

amel27
06-02-2008, 11:54
в данном случае командная строка не причем - значение BINARY_PATH_NAME берется из реестра:
HKLM\SYSTEM\CurrentControlSet\Services\Имя_Сервиса, параметр ImagePath

akrav
06-02-2008, 12:46
Спасибо, amel27 ! Но вопрос остается открытым, почему в системах Windows XP SP2 (возможно даже установленных с одного образа) разные значения параметров одинаковых приложений? Правда, скорее всего это надо постить не в этот раздел форума...

akrav
07-02-2008, 17:09
Как правильно взять этот параметр? проблемы с синтаксисом. Записал reg query HKLM\SYSTEM\CurrentControlSet\Services\"процесс" а куда лепить параметр ImagePath так и не нашел
Заранее благодарю!

Petya V4sechkin
07-02-2008, 17:24
akrav, пример для службы MSDTC:
@Echo Off
SetLocal EnableExtensions

For /F "Tokens=1" %%I In ('Reg 2^>nul') Do If "%%I"=="REG" Set RusReg=1
If "%RusReg%"=="1" (
For /F "Tokens=2* Delims= " %%I In ('Reg Query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC /V ImagePath') Do Set ImagePath=%%J
) Else (
For /F "Tokens=2* Delims= " %%I In ('Reg Query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC /V ImagePath') Do Set ImagePath=%%J
)
Call Set ImagePath=%ImagePath%

Echo %ImagePath%
Exit

amel27
08-02-2008, 07:15
Petya V4sechkin, почему ты не указал таб с пробелом в одном Delims'е?.. REG может оказаться от другой оси

Petya V4sechkin
08-02-2008, 11:01
amel27, указал, а как же.
Только переменную RusReg лучше было обозвать по-другому (вывод REG зависит не от языка, а от системы XP/2003).

Понял, можно проще:
@Echo Off
SetLocal EnableExtensions

For /F "Tokens=2* Delims= " %%I In ('Reg Query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC /V ImagePath') Do Set ImagePath=%%J
Call Set ImagePath=%ImagePath%

Echo %ImagePath%
Exit




© OSzone.net 2001-2012