[Цитировать]

    xnik
  • 19473
  • Стаж: 5 лет 5 месяцев
  • Сообщений: 411
  • Репутация:6

    [+] [-]
  • Откуда: СССР
Вопрос по синтаксису, в некоторых строках есть знак ровно, в других нет, за что он отвечает?
EXEC =!файл.exe
EXEC !файл.exe

[Цитировать]

    Гость
  • Репутация:0

    [+] [-]
xnik, "-wait" или "=" указывает на ожидание конца выполнения запускаемого файла.
Небольшой набор примеров и описаний (делается для личного пользовавия) в архиве pecmd_hlp.7z добавил в это сообщение, рекомендую скачать всем интересующимся.

[Цитировать]

    dimo70
  • 17296
  • Стаж: 6 лет 3 месяца
  • Сообщений: 3990
  • Репутация:26

    [+] [-]
  • Откуда: BG
conty9, спасибо за хелп файл. Очень нужная щука. aa

_________________
Подпись отключена за нарушение правил форума

[Цитировать]

    pegas
  • 21787
  • Стаж: 4 года 6 месяцев
  • Сообщений: 22
  • Репутация:3

    [+] [-]
А как правильно отобразить время командой Date ?

[Цитировать]

    avalat
  • 222
  • Стаж: 9 лет 2 месяца
  • Сообщений: 450
  • Репутация:127

    [+] [-]
pegas, попробуй так
дата и время
DATE *space cl
MSTR y,m,d,h,mn=<1><2><3><5><6>%cl%
IFEX $%d%<10,ENVI d=0%d%
IFEX $%m%<10,ENVI m=0%m%
IFEX $%h%<10,ENVI h=0%h%
IFEX $%mn%<10,ENVI mn=0%mn%
ENVI data=%d%.%m%.%y%  %h%:%mn%
MESS %data%

[Цитировать]

    MBTY
  • 1499
  • Стаж: 8 лет 6 месяцев
  • Сообщений: 77
  • Репутация:6

    [+] [-]
Здравствуйте. Не знаю тут спросить или тему создать. Я пытаюсь родить способ, с помощью которого любая утилита СКРЫТНО сможет сказать сколько RAM есть в компьютере. Всякие HWInfo32 и Speecy справляются, но идея следующая.
ЧТО-ТО запускается скрытно в WinPE (x86/x64) анализирует сколько RAM есть в компе и выводит это либо в консоль либо в файл либо еще куда, а дальше уже мои скрипты-костыли используют эту информацию.
Выбор пока пал на PECMD
Команда pecmd "TEAM FIND MEM=?,FullR|ENVI XXXX=%FullR% Mb|EXEC =CMD.EXE /c ECHO %XXXX% >X:\RAM.TXT"
Работает в х64 системах, но в х86 она показывает классические "ДО 4 ГБ"
Есть может способ заставить PECMD просканить ОЗУ "железно"? В общем помогите найти решение по получению информации о полном размере оперативы даже в х86 WinPE (оооочень желательно консольно)

[Цитировать]

    loban_ser
  • 17796
  • Стаж: 6 лет 1 месяц
  • Сообщений: 578
  • Репутация:24

    [+] [-]
MBTY,
RAMSTATUS.EXE - нет?

[Цитировать]

    MBTY
  • 1499
  • Стаж: 8 лет 6 месяцев
  • Сообщений: 77
  • Репутация:6

    [+] [-]
loban_ser, нет. Показывает 3.6 ГБ вместо полных 8ГБ в WinPEx86

[Цитировать]

    Ander_73
  • 15549
  • Стаж: 7 лет 1 месяц
  • Сообщений: 3586
  • Репутация:127

    [+] [-]
MBTY, aa
На всякий случай напомню, что может быть и вот так ag

[Цитировать]

    MBTY
  • 1499
  • Стаж: 8 лет 6 месяцев
  • Сообщений: 77
  • Репутация:6

    [+] [-]
Ander_73, здорово, про этот патч ядра все знают, кто хотел узнать. Я про WINPE

[Цитировать]

    Гость
  • Репутация:0

    [+] [-]
MBTY, в ядрах х86 сборки 2k10 для получения инфы о памяти (включая затенённую под х86) используется rxprd.exe (команда rxprd.exe mem) из состава Primo RAM disk. Но, думаю, без установки драйверов он ничего не выдаст.
PECMD прямо затенённую память не видит. Хотя сама ОС этой инфой владеет. Судя по различным упоминаниям, физический размер памяти указан в реестре, HKLM\HARDWARE\RESOURCEMAP\Syste m Resources\Physical Memory. Инфа не документирована, но, теоретически, с помощью PECMD можно прочитать данные из реестра и рассчитать размер физической памяти, подобно примеру.

[Цитировать]

    MBTY
  • 1499
  • Стаж: 8 лет 6 месяцев
  • Сообщений: 77
  • Репутация:6

    [+] [-]
conty9, насколько я понял из гуглов и других примеров - берется последняя четверка байт, переводится в DEC и делится на 1024 дважды... у меня в этой четверке - нули... видимо в х64 и х86 эта строка реестра отличается размером. Не вышло спарсить, но спасибо.

[Цитировать]

    nikzzzz
  • 215
  • Стаж: 9 лет 2 месяца
  • Сообщений: 3114
  • Репутация:127

    [+] [-]
MBTY
72057Я пытаюсь родить способ, с помощью которого любая утилита СКРЫТНО сможет сказать сколько RAM есть в компьютере.
Добавил вывод этой информации в MemStat

[Цитировать]

    KottoSOFT
  • 206
  • Стаж: 9 лет 2 месяца
  • Сообщений: 562
  • Репутация:65

    [+] [-]
PECMD (перевод хелпа)
Друзья, помогите, три ночи бьюсь уже мозги кипят взял у Xemom1 два ядра 19 года обновки, хотел хочу, чтобы запускалась отдельная картинка и shell.exe из указанного пути. Набор утилит решил оставить авторский очень даже устраивают. И даже честно говоря добился этого, но при закрытии панели и переходе в WinPE вылез косяк, вторая обоина для рабочего стола не удачно стала, решил быстренько убрать её, чтобы по стандарту оставить
\Windows\web\wallpaper\Windows\img0 Но полез в папку uly обрабатывал для этого, и уверенный, что это тот же удачный вариант, только строчку подправить с флешки тот wim удалил. И началось, как только не пробовал не могу добиться того же результата. У puhpol была примерно такая же проблема Здесь но тогда народа в этой теме было больше. В общем под опытный

pecmd

LOGS %WinDir%\System32\Pecmd.log
DISP W1024 H768 B32 F60
logo %SystemRoot%\logo.jpg
TEXT System configuration 8PEx86, Please Wait ......#0xFFFFFF L60 T30 $20*
REGI HKLM\SYSTEM\CurrentControlSet\Control\Windows\ErrorMode=#2
TEAM EXEC =*winpeshl.exe|INIT IU,1000|FONT %SystemRoot%\Fonts,0
EXEC !%windir%\system32\firadisk.cmd
`------ RAM_DISK
TEAM IFEX MEM=?,MemA|IFEX X:\native.ini,CALL ImDskRD!CALL PrimoRD
IFEX X:\TEMP,TEAM ENVI PT=X:\TEMP|FILE --force B:\Temp!TEAM ENVI PT=B:\TEMP|PATH %PT%
FORX* Temp Tmp,TEnvi,TEAM EXEC =*setx.exe -m %TEnvi% %PT%|ENVI $%TEnvi%=%PT%
TEAM REGI HKCU\Environment\TEMP=%PT%|REGI HKCU\Environment\TMP=%PT%
REGI HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\TEMP=%PT%
REGI HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\TMP=%PT%
//REGI HKU\S-1-5-18\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Cookies=%PT%\Cookies
//REGI HKU\S-1-5-18\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders\Cache=%PT%\Temporary Internet Files
_SUB ImDskRD
TEAM ENVI TEnvi=NTFS|CALC #NEnvi=(%MemA%-64)*6/10
IFEX $%NEnvi%<256,TEAM ENVI TEnvi=FAT|CALC NEnvi=4|PATH X:\Temp
IFEX $%NEnvi%>1536,CALC NEnvi=1536
RAMD ImDisk,L%NEnvi%,%TEnvi%,B:,RAMDisk
//FORX /S %USERPROFILE%\Primo*RamDisk.lnk,DEnvi,0,FILE --force %DEnvi%
_END
_SUB PrimoRD
TEAM EXEC* TEnvi=*cpu64.exe Y|LPOS TEnvi=CPU is 64,1,%TEnvi%
FIND MEM>2560,IFEX $%TEnvi%=5,REGI HKLM\system\ControlSet001\Services\FancyRd\Parameters\EnableIM=#1
@THRD+$ -wait DEVI %windir%\System32\drivers\fancyrd.inf
EXEC* --hide DEnvi=rxprd.exe mem
FIND $%DEnvi%=,TEAM WAIT 1000|EXEC* --hide DEnvi=rxprd.exe mem
FIND $%DEnvi%=,TEAM CALL ImDskRD|EXIT _SUB
TEAM SED DEnvi=0,/, ,%DEnvi%|TEAM MSTR DEnvi=<7> %DEnvi%|CALC DEnvi=%DEnvi%
IFEX $%DEnvi%<%MemA%,CALC MemA=%MemA%-%DEnvi%!CALC MemA=128
TEAM ENVI TEnvi=NTFS|CALC #NEnvi=(%MemA%-128)*6/10+%DEnvi%
IFEX $%NEnvi%<256,TEAM ENVI TEnvi=FAT|CALC NEnvi=4|PATH X:\Temp
@THRD+$ -wait EXEC =*rxprd.exe add -n %NEnvi% -t SCSI -d B -v -i -dmm=COMPACT -f %TEnvi% -c 32KB -l RAMDisk -X -N -T -s
IFEX B:\,!WAIT 1000
IFEX B:\,!CALL ImDskRD
_END
`=============================== U ===============================
MOUN-udm -findboot -w -mhide \\.\PhysicalDrive* C-
REGI $HKLM\SYSTEM\CurrentControlSet\Control\SystemStartOptions,&&udm
SED &&T=?,UDMBOOT,,%&udm%
ifex $0=%&T%,SHOW U:-1
RECY *:\,0
IFEX %WinDir%\system32\NvMe.wcs,EXEC %WinDir%\system32\NvME.wcs
EXEC =!%SystemRoot%\system32\RecycleOff.cmd
DEVI %SystemRoot%\inf\hd*.inf
TEXT Если хотите повернуть экран, нажмите (Alt+P) .....#0xFFFFFF L60 T60 $20*
FORX *.ocx,Regocx,0,CALL $%Regocx%
FORX msxml*.dll,Regdll,0,CALL $%Regdll%
TEAM FORX msi*.dll,TEnvi,0,CALL $%TEnvi%|EXEC *msiexec.exe /register
EXEC =!%SystemRoot%\system32\Autorun.cmd
EXEC !reg.exe import VC886.reg
EXEC !%ProgramFiles%\REGDOC.CMD
EXEC %Windir%\System32\AutoNumlock.EXE
FILE X:\Users\Public\Desktop\desktop.ini
FILE X:\Users\Default\Desktop\desktop.ini
FILE %Desktop%\desktop.ini
EXEC !reg.exe import Cmd.reg
TEXT Снимок экрана, нажмите (F9)...#0xFFFFFF L60 T90 $20*
REGI HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\SeparateProcess=#1
REGI HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Audit\!
EXEC %ProgramFiles%\Classic Shell\ClassicStartMenu.exe
EXEC !X:\Program Files\Imagine\Imagine.EXE /assocext /regcontextmenu
REGI HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Icons\29=X:\WINDOWS\SYSTEM32\Empty.ico,0
TEAM HOTK Ctrl + Alt + C,CMD.EXE|HOTK Alt + R,PECMD.EXE SHUT R|HOTK #112,PECMD.EXE|HOTK #0x78,pecmd.exe load %windir%\snap.wcs
EXEC !%windir%\system32\ctfmon.exe
EXEC =!autoit3.exe LetterSwap.au3 /auto /log %temp%\LetterSwap.log
SHOW -1:-1
PINT %Windir%\explorer.exe,TaskBand
PINT %WinDir%\System32\Cmd.exe,TaskBand
TEAM SHEL %WinDir%\EXPLORER.EXE|LOGO|TEXT
//EXEC !%windir%\Sh.cmd
EXEC !autoit3.exe %windir%\PsMgr.a3x
//EXEC %WinDir%\system32\Ud+.wcs //for FBA
//CALC #TEnvi=6
//LOOP %TEnvi%>0,
//{
//FORX \XMPE\Programs\Sh.exe,XEnvi,1,TEAM EXEC --hide %XEnvi%|EXIT LOOP
//TEAM CALC TEnvi=%TEnvi%-1|WAIT 1000
//FIND #%TEnvi%=5,EXEC --hide bootpart.exe -mount -driveletter U:
//FIND #%TEnvi%=2,EXEC --hide ShowDrive.exe ALL
//}
FORX \SSTR\MInst\MInst.exe,Exefile,0,LINK %Desktop%\MInst(SSTR),"%Exefile%"
DEVI %WinDir%\inf\usbvideo.inf
//LINK %Desktop%\PPPoE,X:\ProgramData\Microsoft\Network\Connections\Pbk\rasphone.pbk
SERV AudioSrv
//KILL Explorer.exe
//REGI HKLM\SYSTEM\Setup\SystemSetupInProgress=#1
EXEC @Pecmd Load %WinDir%\system32\PecmdNet.ini
//EXEC %WinDir%\system32\pics.wcs
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Вы деленная красным строчка выкидывала на рабочий стол сразу после указанного logo в удачном варианте я её удалил и вроде стало нормально фиксировать на том logo, но как я описал из за второй картинки этот wim потерял.
По задумке нужно, где то в начале указать такой путь к картинке
FORX \KSFT\Win_PE\oboi\logo.jpg,POnvi,1,LOGO %POnvi%
и чтобы сразу без перехода на рабочий стол запускалась как у puhpol эта команда скопировал с пятой страницы
REGI #HKLM\SYSTEM\CurrentControlSet\Control\Windows\ErrorMode=2
FORX \lKSFT\Win_PE\programs\Shell\shell.exe,TEnvi,1,SHEL %TEnvi%
REGI #HKLM\SYSTEM\CurrentControlSet\Control\Windows\ErrorMode=0
Помогите пожалуйста, мозги кипят уже

[Цитировать]

    puhpol
  • 2
  • Стаж: 9 лет 4 месяца
  • Сообщений: 888
  • Репутация:73

    [+] [-]
KottoSOFT, Приветствую! aa
7074 Т.е., нужно, чтобы сама оболочка умела показывать обоину. И без нормальной оболочки (MS-Explorer, BSExplorer, Active@ Explorer, ...) остается только LOGO.
Не фига не понял, что нужно?
Добавлено через 21 минута 39 секунд:
REGI #HKLM\SYSTEM\CurrentControlSet\Control\Windows\ErrorMode=2 - отключить сообщения о пустых дисках. (или что то про это)
FORX \lKSFT\Win_PE\programs\Shell\shell.exe,TEnvi,1,SHEL %TEnvi% - Найти shell.exe и задать имя переменной TEnvi (как то так, я понимаю а правильно сказать не могу)
REGI #HKLM\SYSTEM\CurrentControlSet\Control\Windows\ErrorMode=0 - включить сообщения о пустых дисках. (или что то про это)
1. Лучше изменить имя переменной. (буковку изменить в %TEnvi% допустим сделать %KSnvi%)
2. Программу мы нашли, и задали переменную. Хорошо, скрипт теперь знает что есть программа shell.exe лежащая по указанному пути. И в скрипте все это дело называется теперь %TEnvi% и что дальше.......
Нужно запустить программу:
EXEC --wait %TEnvi% запуск программы с ожиданием. То есть, скрипт запускает программу и ждет ее выполнения(или закрытия). После этого продолжится загрузка скрипта дальше.
EXEC %TEnvi% просто запуск программы и продолжение загрузки скрипта.
Зы. Про SHEL Читаем цитату сообщения от conty9
Добавлено через 18 минут 39 секунд:
7060По поводу обоины: фоновая картинка может загружаться ДО старта оболочки (командой LOGO Путь/картинка), гаситься (LOGO), загружаться после оболочки (WALL Путь/картинка), и при необходимости - гаситься (WALL).
Если нужно Просто картинку для лого задать, теоретически так вроде (не проверял):
В место logo %SystemRoot%\logo.jpg
пишем:
REGI #HKLM\SYSTEM\CurrentControlSet\Control\Windows\ErrorMode=2
FORX \lKSFT\ПУТЬ К КАРТИНКЕ\ОБОИНА.png,TEnvi,1,LOGO %KGnvi%
REGI #HKLM\SYSTEM\CurrentControlSet\Control\Windows\ErrorMode=0
LOGO или LOGO %KGnvi%
Если нужно после загрузки рабочего стола загрузить свою обоину:
REGI #HKLM\SYSTEM\CurrentControlSet\Control\Windows\ErrorMode=2
FORX \lKSFT\ПУТЬ К КАРТИНКЕ\ОБОИНА.png,TEnvi,1,WALL %KJnvi%
REGI #HKLM\SYSTEM\CurrentControlSet\Control\Windows\ErrorMode=0
WALL или WALL %KJnvi%
Вставить в скрипт после TEAM SHEL %WinDir%\EXPLORER.EXE|LOGO|TEXT
Добавлено через 27 минут:
TEXT Если хотите повернуть экран, нажмите (Alt+P) .....#0xFFFFFF L60 T60 $20*
В обще не при делах....Так как строка значит:
Вывести на экран текст "Если хотите повернуть экран, нажмите (Alt+P) ....."
#0xFFFFFF - белый цвет шрифта.
L60 T60 - отступ от края экрана с лева/с верху
$20* - размер шрифта

Страница 14 из 28


Показать сообщения:    

Текущее время: 29-Мар 05:38

Часовой пояс: UTC + 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы можете скачивать файлы