Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Пользователь


Сообщения: 63
Благодарности: 2

Профиль | Отправить PM | Цитировать


Есть скрипт
Код: Выделить весь код
@Echo Off
SetLocal EnableDelayedExpansion

Set ROOT=C:\Drivers
Set WSIF=C:\TEST\winnt.sif

PUSHD %ROOT%
For %%i In ("%ROOT%") Do If Exist %%i (Set ROOT=%%~si&Set $R=%%~nxsi) Else Exit
For /F "Delims=" %%i In ('DIR /B/S/A:D *') DO (
   Set $D=%%~si
   If Exist !$D!\*.inf Set OemPnPDriversPath=!OemPnPDriversPath!;!$R!!$D:%ROOT%=!
)

Echo [Unattended]>>"%WSIF%"
Echo OemPnPDriversPath="%OemPnPDriversPath:~1%">>"%WSIF%"
Мне просто нужно помочь сделать вывод путей в нужное место в reg файле и чтобы в начале каждого пути подставлялся нужный мне путь(в данном случае \\192.168.200.1


Добавлено:
Поправил скрипт чтобы выводил результаты в команду которая добавляет изменения в реестре:



SetLocal EnableDelayedExpansion

Set ROOT=D:\Drivers\c
set DIR=%systemroot%\inf
PUSHD %ROOT%
For %%i In ("%ROOT%") Do If Exist %%i (Set ROOT=%%~si&Set $R=%%~nxsi) Else Exit
For /F "Delims=" %%i In ('DIR /B/S/A:D *') DO (
Set $D=%%~si
If Exist !$D!\*.inf Set OemPnPDriversPath=!OemPnPDriversPath!;!$R!!$D:%ROOT%=!
)

Echo OemPnPDriversPath="%OemPnPDriversPath:~1%">>"%DIR%"

REG ADD HKLM\Software\Microsoft\Windows\CurrentVersion /v DevicePath /t REG_EXPAND_SZ /d %DIR% /f

pause

Но не работает. если посмотреть вывод в командной строке, то:

D:\drivers\c>Echo OemPnPDriversPath="c\A;c\A2;c\A4;c\A5;c\A6;c\A7;c\Ak;c\At;c\D;
c\E;c\F;c\H;c\I;c\I4;c\I5;c\I6;c\Ia;c\Ib;c\Ic;c\Id;c\Ie;c\IN;c\IT;c\K;c\N;c\N1;c
\N2;c\N3;c\N4;c\S;c\T;c\U;c\V;c\V2;c\V3;c\VX;c\I2\1;c\I2\2;c\I2\3;c\I2\4;c\I2\5"
1>>"C:\Windows\inf"
Отказано в доступе.


В DevicePath добавляется в итоге просто текст C:\Windows\inf

Последний раз редактировалось netsupport, 21-06-2010 в 17:34. Причина: правка кода


Отправлено: 14:45, 21-06-2010 | #5