Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   когда имена короткие, когда имена длинные ... (http://forum.oszone.net/showthread.php?t=100011)

akrav 06-02-2008 11:03 734066

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

amel27 06-02-2008 11:54 734093

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

akrav 06-02-2008 12:46 734138

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

akrav 07-02-2008 17:09 735105

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

Petya V4sechkin 07-02-2008 17:24 735121

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 735530

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

Petya V4sechkin 08-02-2008 11:01 735635

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



Время: 10:43.

Время: 10:43.
© OSzone.net 2001-