FORUM DARKERS

Tecnologia & Informática => Programação => Batch Script => Topic started by: cebolaaa on 13 de May , 2007, 07:16:22 PM

Title: Batch + Regedit > Ajuda
Post by: cebolaaa on 13 de May , 2007, 07:16:22 PM
Ae pessoal!!! xD, forum mto bom, coisas muito interesantes, pessoal nota 10 xD... To gostando daki :)

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters]
"EnablePrefetcher"="1"
[HKEY_CURRENT_USER\Control Panel\Desktop]
"MenuShowDelay"="0"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"ConfigFileAllocSize"="200"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control]
"WaitToKillServiceTimeOut"="1000"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"SecondLevelDataCache"="dworld:00000512"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters]
"CacheHashTableBucketSize"="dword:00000001"
"CacheHashTableSize"="dword:00000180"
"MaxCacheEntryTtlLimit"="dword:0000fa00"
"MaxSOACacheEntryTtlLimit"="dword:0000012d"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters]
"CacheHashTableBucketSize"=dword:00000001
"CacheHashTableSize"=dword:00000180
"MaxCacheEntryTtlLimit"=dword:0000fa00
"MaxSOACacheEntryTtlLimit"=dword:0000012d
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetcherParameters]
"EnablePrefetcher"="1"
[HKEY_CURRENT_USER\Control Panel\Desktop]
"HungAppTimeout"="3000"
"WaitToKillAppTimeout"="1000"
"AutoEndTasks"="1"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control]
"WaitToKillServiceTimeout"="1000"
Title: Re: Batch + Regedit > Ajuda
Post by: 1NT3RC3PT0R on 13 de May , 2007, 08:40:38 PM
Esperimenta isso

Echo Conteudo aqui >> arquivo.reg

Exemplo:
echo [HKEY_CURRENT_USER\Control Panel\Desktop] >> arquivo.reg
echo "MenuShowDelay"="0" >> arquivo.reg

Assim você pode escrever qualquer coisa em qualquer arquivo.

Flw espero que seja isso que você queria saber. Qualquer coisa posta ai
Title: Re: Batch + Regedit > Ajuda
Post by: cebolaaa on 13 de May , 2007, 08:54:55 PM
aew xD, brigado bro,,, tipo, me fala se isso:

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control]
"WaitToKillServiceTimeout"="1000"
 
ficaria assim:
 
echo [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control] >> arquivo.reg
echo "WaitToKillServiceTimeout"="1000" >> arquivo.reg

esse arquivo.reg eu num tenho q alterar?
Title: Re: Batch + Regedit > Ajuda
Post by: cebolaaa on 13 de May , 2007, 08:57:24 PM
ahh ta, entendi, tipo,,, BlaABC.reg

echo [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control] >> BlaABC.reg
echo "WaitToKillServiceTimeout"="1000" >> BlaABC.reg

intaum, mas num era bem isso q eu precisava... tipo, kero q o programa altere ja no registro do windows... naum em um arquivo .reg pra mim mandar ele dps execultar o arquivo... kero q o programa por si so ja faça as alteraçoes... vc sabe como? obrigado xD
Title: Re: Batch + Regedit > Ajuda
Post by: 1NT3RC3PT0R on 14 de May , 2007, 10:23:49 AM
se nao me engano manda um reg add antes do começo da linha do registro q ele altera
Title: Re: Batch + Regedit > Ajuda
Post by: Anonymous on 14 de May , 2007, 10:46:38 AM
Desconheço controles em Batch que acessem o Registro DIRETAMENTE, o procedimento típico e padrão para este tipo de alteração é criar um arquivo .REG (como 1NT3RC3PT0R descreveu) e rodá-lo (de dentro do batch mesmo) com o comando:

regedit /s startup.reg
...lembrando que o conteúdo do arquivo .reg deve conter obrigatóriamente o cabeçalho correto, segue um exemplo:

REGEDIT4
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters]
"EnablePrefetcher"="1"
[HKEY_CURRENT_USER\Control Panel\Desktop]
"MenuShowDelay"="0"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"ConfigFileAllocSize"="200"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control]
"WaitToKillServiceTimeOut"="1000"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"SecondLevelDataCache"="dworld:00000512"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters]
"CacheHashTableBucketSize"="dword:00000001"
"CacheHashTableSize"="dword:00000180"
"MaxCacheEntryTtlLimit"="dword:0000fa00"
"MaxSOACacheEntryTtlLimit"="dword:0000012d"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters]
"CacheHashTableBucketSize"=dword:00000001
"CacheHashTableSize"=dword:00000180
"MaxCacheEntryTtlLimit"=dword:0000fa00
"MaxSOACacheEntryTtlLimit"=dword:0000012d
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetcherParameters]
"EnablePrefetcher"="1"
[HKEY_CURRENT_USER\Control Panel\Desktop]
"HungAppTimeout"="3000"
"WaitToKillAppTimeout"="1000"
"AutoEndTasks"="1"
[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control]
"WaitToKillServiceTimeout"="1000"

Segue algo que imagino que tenha solicitado:

echo REGEDIT4 > ARQ.REG
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters] >> ARQ.REG
echo "EnablePrefetcher"="1" >> ARQ.REG
echo [HKEY_CURRENT_USER\Control Panel\Desktop] >> ARQ.REG
echo "MenuShowDelay"="0" >> ARQ.REG
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem] >> ARQ.REG
echo "ConfigFileAllocSize"="200" >> ARQ.REG
echo [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control] >> ARQ.REG
echo "WaitToKillServiceTimeOut"="1000" >> ARQ.REG
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management] >> ARQ.REG
echo "SecondLevelDataCache"="dworld:00000512" >> ARQ.REG
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters] >> ARQ.REG
echo "CacheHashTableBucketSize"="dword:00000001" >> ARQ.REG
echo "CacheHashTableSize"="dword:00000180" >> ARQ.REG
echo "MaxCacheEntryTtlLimit"="dword:0000fa00" >> ARQ.REG
echo "MaxSOACacheEntryTtlLimit"="dword:0000012d" >> ARQ.REG
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters] >> ARQ.REG
echo "CacheHashTableBucketSize"=dword:00000001 >> ARQ.REG
echo "CacheHashTableSize"=dword:00000180 >> ARQ.REG
echo "MaxCacheEntryTtlLimit"=dword:0000fa00 >> ARQ.REG
echo "MaxSOACacheEntryTtlLimit"=dword:0000012d >> ARQ.REG
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetcherParameters] >> ARQ.REG
echo "EnablePrefetcher"="1" >> ARQ.REG
echo [HKEY_CURRENT_USER\Control Panel\Desktop] >> ARQ.REG
echo "HungAppTimeout"="3000" >> ARQ.REG
echo "WaitToKillAppTimeout"="1000" >> ARQ.REG
echo "AutoEndTasks"="1" >> ARQ.REG
echo [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control] >> ARQ.REG
echo "WaitToKillServiceTimeout"="1000" >> ARQ.REG
regedit /s ARQ.REG

Talvez você precise de algo mais poderoso como VBScript, JScript, PowerShell, tire um tempo para olhar essas linguagens.
Title: Re: Batch + Regedit > Ajuda
Post by: cebolaaa on 15 de May , 2007, 01:43:14 PM
obrigado, eu irei dar uma olhada nelas,,, o q eu fiz foi  oq vc falou, ja tinha feito isso,,, um arkivo .reg e no .bat eu aplicava ele,, mas ai a pessoa tinha q por ele num determinado local , o msm q o .bat iria procurar por ele pra poder aplicar...

vou ver o q consigo fazer. abraços p/ todos, e mto obrigado xD
Title: Re: Batch + Regedit > Ajuda
Post by: cebolaaa on 15 de May , 2007, 01:46:02 PM
ah, e so uma coisa,,, qdo for por exemplo "xxxxxx"=dword:yyyyyyy

naum se poem aspas dps do =,, se naum ele add por exemplo:

"IpConfig"="dword:000454"

ele vai add: dword000454  ,,, no arquivo

tem q ser sem aspas xD. abaraços
Title: Re: Batch + Regedit > Ajuda
Post by: cebolaaa on 15 de May , 2007, 02:06:23 PM
galera, ja elvis, consegui, deu certo xD

segue aki um ex.:

reg add HKLM\SOFTWARE\7-Zip /v Path /t REG_EXPAND_SZ /d c:\xxx\yyy

assim "reg add" comando para adicionar ao registro;
"HKLM\SOFTWARE\7-Zip" caminho do registro (chaves);
/v nome dp arquivo no registro;
/t tipo do arquivo;
/d dados, informação que ira conter dentro do arquivo...

na real,,, batch vai longeeeeee xD abraço a todos... xD
Title: Re: Batch + Regedit > Ajuda
Post by: cebolaaa on 15 de May , 2007, 02:53:33 PM
reg add HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters /v EnablePrefetcher /t REG_DWORD /d 1

gnt,,, seguinte, se eu ponho uma linha de comando igual a essa, da erro, fala: "Exesso de parametros por linha"...

se eu ponho a msm coisa so q com "  _  " no lugar dos espaços, ele aceita de boa,, ou seja, não acontece o erro por exesso de characters....so q ai ele naum interpreta o " _ (under-line) " como espaço (logico)... ai acaba criando outra chave e blablabla....

reg add HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters /v EnablePrefetcher /t REG_DWORD /d 1  ( ñ da o erro)

alguem sabe como posso fazer para usar os espaços? ou algo q seja interpretado como eles?
Obrigado.