Войти

Показать полную графическую версию : [решено] Добавление OEM информации - все вопросы


Страниц : [1] 2 3 4 5 6 7 8 9 10 11 12

ANDYru
18-05-2005, 16:47
Изменение OEM информации и логотипа (http://oszone.net/3102)
Исправленный и дополненный oeminfo.cmd (http://wiki.oszone.net/index.php/Изменение_OEM_информации)


http://wiki.oszone.net/images/7/71/Support_Information.jpg

VseDoFeNi
18-05-2005, 22:26
ANDYru

Так должен работать.

cmdow @ /HID
@echo off
SET D=%SYSTEMROOT%\system32\
if exist "%D%oeminfo.ini" del "%D%oeminfo.ini" /q
SET CDROM=%~d0
echo [General] >> "%D%oeminfo.ini"
echo Manufacturer=Автор версии : ANDY >> "%D%oeminfo.ini"
echo Model=Корпоративная Версия >> "%D%oeminfo.ini"
echo [Support Information] >> "%D%oeminfo.ini"
echo Line1=Дата установки системы : %date% >> "%D%oeminfo.ini"
echo Line2= >> "%D%oeminfo.ini"
echo Line3=Время установки системы : %time% >> "%D%oeminfo.ini"
echo Line4= >> "%D%oeminfo.ini"
echo Line5=Установленные обновления : >> "%D%oeminfo.ini"
echo Line6= >> "%D%oeminfo.ini"
SET i=7
For /F "tokens=1* delims=." %%k in ('dir "%CDROM%\I386\SVCPACK\KB*.CA_" /b') do ( (set kbname=%%k) & (call :myprint) )
GOTO :EOF
:myprint
echo Line%i%=%kbname% >> "%D%oeminfo.ini"
SET /A i=%i%+1
:EOF

Если это весь батник, в последней строке :EOF можно не писать - и так уже End Of File.
И еще, убери все пробелы в конце каждой строки, если не нужны специально.

Vadikan
18-05-2005, 23:34
Там похоже пробелы лишние в строке For /F "tokens=1 delims...
Должно быть

For /F "TOKENS=1 delims=.exe" %%j in ('dir /B %CDROM%\I386\svcpack\KB*.exe') do ((set kbname=%%j) & (call :myprint))

VseDoFeNi
18-05-2005, 23:53
Vadikan
в качестве разделителя достаточно точки - "delims=."

Vadikan
19-05-2005, 00:49
VseDoFeNi
Согласен. Кстати, ты свой файл из cmdlines.txt запускаешь? Я так понял строчку SET CDROM=%~d0

VseDoFeNi
19-05-2005, 06:15
Vadikan
Это я поправил просто тот, который ANDYru запостил. А сам я ничего не запускаю, просто лежит тут $OEM$\$$\System32\ давным давно, я уж про него и забыл совсем :)

Vadikan
19-05-2005, 07:07
VseDoFeNi
С такой поправкой как SET CDROM=%~d0 его можно только с CD запускать. Т.е. из cmdlines.txt...

VseDoFeNi
19-05-2005, 07:59
Vadikan
И да, и нет одновременно. Если его запустить из промежуточного батника, который будет запущен из cmdlines.txt, можно эту строчку вообще в промежуточный перенести, даже если сам OEMInfo.cmd на HDD лежать будет. Еще от параметров запуска зависит...

ANDYru
19-05-2005, 09:24
спасибо ответившим ! -но проблема осталась :)
дабавлю что OEMINFO.cmd запускается из RUNONCEEX.cmd
.
.
REG ADD %KEY%\050 /VE /D "добавление OEM инфы" /f
REG ADD %KEY%\050 /V 1 /D "%CDROM%\PROGRAMS\UTIL\oeminfo.cmd" /f
.
.
а RUNONCEEX.cmd соответственно из CMDLINES.txt

[COMMANDS]
"runonceex.cmd"

VseDoFeNi
19-05-2005, 09:28
ANDYru
пути не совпадают у тебя, цикл с ошибкой был....
Если через RunOnceEx посмотри значения в реестре :)
дабавлю что OEMINFO.cmd запускается из RUNONCEEX.cmd
он запускается именно из реестра у тебя.
верни на место строку
FOR %%d IN (c d e f g h i j k l m n o p q r s t u v w x y z) DO IF EXIST %%d\WIN51IP.SP2 SET CDROM=%%d:
все будет работать.
А вообще путей много :)

ANDYru
19-05-2005, 18:11
FOR %%d IN (c d e f g h i j k l m n o p q r s t u v w x y z) DO IF EXIST %%d\WIN51IP.SP2 SET CDROM=%%d:

такая строчка есть и в OEMINFO.cmd и в RUNONCEEX.cmd
сам RUNONCEEX.cmd - отрабатывает без проблемм и запускает OEMINFO.cmd - он тоже отрабатывает - только не всё - не добавляются в текстовик oeminfo.ini - список KB*.ca_ - находяшиеся на установочном сидюке - (только на конце чтоб после . было не ca_ а exe или дез расширения вовсе
- то есть хочу чтоб было в итоге

Дата установки системы : 19.05.2005
Время установки системы : 15.03 12:51
Установленные обновления :
KB873333 KB873339 KB884883 KB885222 KB885250 KB885626 KB885835
KB885836 KB885894 KB886185 KB886677 KB886716 KB887472 KB887606
KB887742 KB887797 KB888113 KB888302 KB889016 KB890175 KB890831
KB890859 KB890923 KB891781 KB893066 KB893086 KB893357 KB893803


а получается только :

Дата установки системы : 19.05.2005
Время установки системы : 15.03 12:51
Установленные обновления :



? - что не так делаю

VseDoFeNi
19-05-2005, 18:28
ANDYru
Запусти
For /F "tokens=1* delims=." %%k in ('dir "%CDROM%\I386\SVCPACK\KB*.CA_" /b') do ( (set kbname=%%k) & (call :myprint) )
GOTO :EOF
:myprint
echo Line%i%=%kbname% >> "%D%oeminfo.ini"
SET /A i=%i%+1
:EOF
с HDD только путь укажи к папке правильный, увидишь как отработает, потом сделаешь выводы.

ANDYru
19-05-2005, 22:48
толи я не то чтото делаю - просто загадка
пердыдущий пост заработал - но ! Но только если вместо "%CDROM% указываю конкретный диск - и ещё пытался обойтись без сидюки - зделал

For /F "tokens=1* delims=." %%k in ('dir "%SYSTEMROOT%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\KB*.cat" /b') do ( (set kbname=%%k) & (call :myprint) )

- итог не пашет такая строка !
а так делаю пашет
rem For /F "tokens=1* delims=." %%k in ('dir "C:\Program Files\EasyBoot\disk1\I386\SVCPACK\KB*.ca_" /b') do ( (set kbname=%%k) & (call :myprint) )

VseDoFeNi
20-05-2005, 09:35
ANDYru
%SYSTEMROOT%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}
Сними с файлов атрибут "скрытый" должно заработать.

ANDYru
20-05-2005, 15:42
если они в папке %SYSTEMROOT%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}
при установке ставятся с атрибутами - то вопрос как в банике перед их проверкой снять им атрибут "скрытый"
загвоздка получается

зы я ещё не утомил ?

Vovanchik
20-05-2005, 15:58
ATTRIB -H -S -R %SYSTEMROOT%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\file.name
эта команда снимает атрибуты с файла
ATTRIB +H +S +R %SYSTEMROOT%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\file.name
эта восстанавливает

ANDYru
20-05-2005, 16:22
ура ! сработало ! вот мой итоговый вариан без заморочек с сидюком

cmdow @ /HID
@echo off
SET D=%SYSTEMROOT%\system32\
if exist "%D%oeminfo.ini" del "%D%oeminfo.ini" /q
echo [General] >> "%D%oeminfo.ini"
echo Manufacturer=Автор версии : ANDY >> "%D%oeminfo.ini"
echo Model=Корпоративная Версия >> "%D%oeminfo.ini"
echo [Support Information] >> "%D%oeminfo.ini"
echo Line1=Дата установки системы : %date% >> "%D%oeminfo.ini"
echo Line2= >> "%D%oeminfo.ini"
echo Line3=Время установки системы : %time% >> "%D%oeminfo.ini"
echo Line4= >> "%D%oeminfo.ini"
echo Line5=Установленные обновления : >> "%D%oeminfo.ini"
echo Line6= >> "%D%oeminfo.ini"
SET i=7
ATTRIB -H -S -R %SYSTEMROOT%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\KB*.cat
For /F "tokens=1* delims=." %%k in ('dir "%SYSTEMROOT%\system32\CatRoot\{F750E6C3-38EE-11D1-85E5-00C04FC295EE}\KB*.cat" /b') do ( (set kbname=%%k) & (call :myprint) )
GOTO :EOF
:myprint
echo Line%i%=%kbname% >> "%D%oeminfo.ini"
SET /A i=%i%+1
:EOF


на нём пожалуй и оттанавлюсь ! всем огромное спасибо за оказанное моей проблеме внимание
правда вот интересно можно ли сделать так чтобы перечень файлов

Line7=KB873333
Line8=KB873339
Line9=KB884883
Line10=KB885222
Line11=KB885250
Line12=KB885626
Line13=KB885835
Line14=KB885836
Line15=KB885894
Line16=KB886185
Line17=KB886677
Line18=KB886716
Line19=KB887472
Line20=KB887606
Line21=KB887742
Line22=KB887797
Line23=KB888111
Line24=KB888113
Line25=KB888302
Line26=KB889016
Line27=KB890175
Line28=KB890831
Line29=KB890859
Line30=KB890923
Line31=KB891781
Line32=KB893066
Line33=KB893086
Line34=KB893357
Line35=KB893803

был таким

Line7=KB873333 KB873339 KB884883 KB885222 KB885250 KB885626
Line8=KB885835 KB885836 KB885894 KB886185 KB886677 KB886716
Line9=KB887472 KB887606 KB887742 KB887797 KB888111 KB888113
Line10=KB888302 KB889016 KB890175 KB890831 KB890859 KB890923
Line11=KB891781 KB893066 KB893086 KB893357 KB893803


так гораздо нагляднее и красивее !

ANDYru
24-05-2005, 14:40
мужики подскажитк как сделать чтобы было как в предыдущем посту в последнем синем окне (разбиение найденных КВ***** было не по одному в строчке а по 6 шт подряд затем опять 6 шт след. стокой и так пока не закончатся все найденные КВ*****

vserd
26-05-2005, 14:03
ANDYru
Тебе нужно переписать часть кода
:myprint
echo Line%i%=%kbname% >> "%D%oeminfo.ini"
SET /A i=%i%+1

так чтобы он формировал строку из шести КВ, а затем писал ее в файл.
Как конкретно, разбирайся с языком Bat-файлов (bath).
Я где-то натыкался на инфу что можно делать вычисления в команде SET. Так что все реально.

ANDYru
27-05-2005, 12:36
vserd
спасибо конечно (я и сам знал что часть кода надо переписать - вот только языка бат не знаю настолько чтобы сделать это без чьеё либо помощи - иначи сюда бы не писал)
может кто нибуть из владеющих Языком научит Дурака :) - буду весьма благодарен




© OSzone.net 2001-2012