Tudo sobre batch: Apostilas, programas, dicas e tutoriais.
Mostrando postagens com marcador Tutoriais. Mostrar todas as postagens
Mostrando postagens com marcador Tutoriais. Mostrar todas as postagens

20 de dez. de 2012

Autor: Hmenon do fórum Batch Satti

Bom fiz esse tópico para facilitar a vida de quem ainda tem problema com o comando "for",Para ser sincero eu também não sabia usar direito ele ate umas duas semanas atras, mais ai eu desvendei o mistério e irei compartilhar a formula secreta com vocês,bom o grande truque quando vai se aprender um comando tão complexo quanto o for está na aula experimental isso é você vendo com os seus próprios olhos o que cada complemento faz.

Obs -Usarei exemplos daqui do forum no tutorial e não estranhem se aparecer uma frase idêntica a do boss pois não da pra simplificar mais, então vamos começar.

base do comando isso é:

CÓDIGO:
For "complemento" %%variavel in (conjunto) do (ação sobre o conjunto)


Exemplos básicos desse comando

CÓDIGO:
for %%a in (Pasta1 Pasta2 Pasta3) do (md %%a)


CÓDIGO:
for %%b in (notepad.exe msnmsgr.exe ) do (taskkill -f -im %%b)


CÓDIGO:
for %%c in (File.txt File2.txt) do (del /s /f /q %%c)


Antes que você tenha essa duvida (Não importa a varável %%a %%b %%c tudo vai dar no mesmo)

Esses exemplos foi só pra dar uma pequena amostra do que este comando e capaz mais isso não e nem o começo agora vamos ver os complementos para utilização do "for".


> Opções para serem utilizadas antes dos "complementos"
[/L] - Serve para especificar um loop "for /l %%a in (1,1,100) do (echo %%a)"Exemplos + Explicação
[/D] - Serve para listar diretórios "for /d %%a in (*) do (echo %%a)" -------->Exemplos + Explicação
[/R] - E um Incremento para a opção '/d' "for /d /r %%a in (*) do (echo %%a)"Exemplos + Explicação 
[/F] - Serve como um ultilitario avançado de textos "tem muitos exemplos"

> Opções no "Conjunto" 
[""] - Especifica uma cadeia de caracteres "for /f "tokens=*" %%a in ("%Date%") do (echo %%a)" 
[' '] - Especifica um comando "for /f "tokens=*" %%a in ('type Arquvio.txt') do (echo %%a)" 
[ ] - Especifica conjunto de arquivos "for %%a in (Ola.txt Final.txt) do (del /s /f /q %%a)" 

> Complementos na opção /f 

Atenção ! Esses comandos so funcionam se estiverem acompanhados da opção '/F' & Antes de ver os "complementos" (goto teste)

[tokens] Limita visualização de camadas (goto tokens)
[delims] Especifica o caracter delimitador (goto Delims)
[skip] Especifica a quantidade de linhas para serem puladas (goto Skip)
[eol] Especifica o caractere para ser ignorado... (goto eol)
[usebackq] Muda a forma de se interpretar o conjunto (goto userbackq)
goto Sets

:teste
bom e meio dificil explicar esses complementos mais para melhor entendimento vamos precisar disso

CÓDIGO:
Linha1 Parte1 Teste1
Linha2 Parte2 Teste2
Linha3 Parte3 Teste3
Cole dentro do bloco de notas e salve como "Arquivo.txt"
obs - Quando tiver a hashtag #PodeUsar esta se referindo ao "Arquivo.txt" acima
goto:eof

:tokens
Veja você mesmo o uso desse comando
#PodeUsar

CÓDIGO:
for /f "Tokens=1" %%a in (Arquivo.txt) do (echo %%a)

O resultado disso seria

CÓDIGO:
Linha1
Linha2
Linha3

e se colocarmos

CÓDIGO:
for /f "Tokens=2" %%a in (Arquivo.txt) do (echo %%a)

o resultado seria

CÓDIGO:
Parte1
Parte2
Parte3

para que vejamos todo o conteudo do arquivo ultilizamos o caractere '*'

CÓDIGO:
for /f "Tokens=*" %%a in (Arquivo.txt) do (echo %%a)

bom podemos fazer variações na ordem de como se visualizara.

CÓDIGO:
for /f "Tokens=1,2" %%a in (Arquivo.txt) do (echo %%a %%b)
Dai isso resultaria em
CÓDIGO:
Linha1 Parte1
Linha2 Parte2
Linha3 Parte3
Percebam que no (conjunto de ação) eu coloquei "%%a" e "%%b" pois se ficasse só o "%%a" não apareceria a segunda coluna de linhas, coloquei o "%%b" por que o "B" e o numero afrente do "A", tipo se a variável fosse "%%1" ficaria "%%1" "%%2".
Poderíamos colocar

CÓDIGO:
for /f "Tokens=1,2,3" %%a in (Arquivo.txt) do (echo %%b %%a %%c)

isso acarretaria em

CÓDIGO:
Parte1 Linha1 Teste1
Parte2 Linha2 Teste2
Parte3 Linha3 Teste3
Também da pra encurtar o processo tipo você quer colocar o "tokens" de 1 a 9 envez de colocar 1,2,3... vc pode usar da seguinte maneira
CÓDIGO:
for /f "tokens=1-9" %%a in (Arquivo.txt) do( echo %%a %%b %%c ...)
então acho que já da pra sacar pra que serve este complemento né ?
goto:eof

:delims
ele especifica o caractere delimitador (entre as palavras)
exemplo:
você tem o seguinte código chamado "teste.txt"

CÓDIGO:
Linha1-Parte1-Teste1
Linha2-Parte2-Teste2
Linha3-Parte3-Teste3
E quer separar cada camada, se usar só o "tokens" não ira pegar simplesmente pelo fato de as palavras estarem uma em contato com a outra tipo você colocaria
CÓDIGO:
for /f "tokens=1,2,3" %%a in (teste.txt) do (echo %%c %%b %%a)
Iria aparecer a mesma coisa do código original,agora usando o "delims" tipo isso aqui
CÓDIGO:
for /f "tokens=1,2,3 delims=-" %%a in (Arquivo.txt) do (echo %%c %%b %%a)
acarretaria em
CÓDIGO:
Teste1 Parte1 Linha1
Teste2 Parte2 Linha2
Teste3 Parte3 Linha3
Outro exemplo que acho melhor ainda de se entender e o da data olhem
CÓDIGO:
for /f "tokens=1,2,3 delims=/" %%a in ("%date%") do (echo Ano - %%c Mes - %%b Dia - %%a)
O resultado disso seria
CÓDIGO:
Ano - 2012 Mes - 08 Dia - 10
Um detalhe importante de ser ressaltado e que o caractere delims não foi igual ao do exemplo passado eu usei o '/' por que na data ele é utilizado para separar dia més e ano '10/08/2012'
goto:eof

:skip
No comando skip usaremos a #PodeUsar 
bom ele serve para pular linhas em sequencias veja

CÓDIGO:
for /f "tokens=* skip=1" %%a in (Arquivo.txt) do (echo %%a)

o Resultado disso seria

CÓDIGO:
Linha2 Parte2 Teste2
Linha3 Parte3 Teste3

como você pode ver pulou a primeira linha
obs - ele não e assim, tipo você coloca "skip=3" não pense que ele ira pular somente a terceira linha, e sim ira pular a primeira segunda e terceira. (e simplesmente isso o skip e bem simples na verdade )
goto:eof

:eol
Diferente do 'skip' o 'eol' serve para ignorar linhas com caracteres especificados por ele e não importa se estejam em ordem ou não. olha isso na pratica.
digamos que você tenha um arquivo chamado "texto.txt" com isso dentro

CÓDIGO:
boss-head
real madrid
baby
o melhor
black
time
e quer pular somente as linhas que tenham o caractere 'b' no inicio da frase
você colocaria esse comando

CÓDIGO:
for /f "tokens=* eol=b" %%a in (texto.txt) do (echo %%a)

resultaria nisso aqui

CÓDIGO:
real madrid
o melhor
time
Não tem nada pra acrescentar sobre este complemento
goto:eof

:usebackq
Esse comando serve para interpretar o conjunto de outro modo.
exemplo:Você tem um arquivo chamado de 'Ola galera.txt' e queria visualiza-lo no for se você colocar assim

CÓDIGO:
for /f "tokens=*" %%a in ("Ola galera.txt") do (echo %%a)
O prompt interpretaria como cadeia de caracteres simplesmente por que tem as [""] e iria mostrar "Ola galera.txt" na tela e não o conteúdo do arquivo então para mudar isso usa-se o "usebackq" ficando assim o código
CÓDIGO:
for /f "tokens=* usebackq" %%a in ("Ola galera.txt") do (echo %%a)
ai sim iria mostrar o conteúdo do arquivo

Obs - Tive que colocar aspas no conjunto por que o nome tem espaço e e a mesma coisa tipo quando você copia um arquivo se contiver espaços no meio do nome tem que colocar [""].
goto:eof


:Sets
* Alguns detalhes importantes
1 - Não importa a varável %%a %%b %%c tudo vai dar no mesmo
2 - No conjunto de ações não precisa ter () eu só coloco por organização
3 - O '%%Var' só e interpretado quando e salvo como ".bat" no prompt de comando utilize o '%Var'
4 - A grande sacada do for e a parte do 'delims' e 'tokens' aprendeu isso já e 70 % concluído
5 - O for ira economizar dezenas de linhas no seu código quando você sacar ele direito
6 - Você pode ver alguns exemplos do for clicando aqui
goto End

:End
Bom com isso concluímos o tutorial tenham a total certeza que tentei ser o mais claro possível
Aos que não entenderam pode me mandar a sua duvida em uma MP e tentearei soluciona-la
Aos Mods e as membros em geral podem me falar se me equivoquei em algum argumento ou coisas do tipo
A todos um abraço de Agamenon e fiquem com DEUS.

Att. Hemnon

Autor: Hmenon do fórum Batch Satti

Bom fiz esse tópico para facilitar a vida de quem ainda tem problema com o comando "for",Para ser sincero eu também não sabia usar direito ele ate umas duas semanas atras, mais ai eu desvendei o mistério e irei compartilhar a formula secreta com vocês,bom o grande truque quando vai se aprender um comando tão complexo quanto o for está na aula experimental isso é você vendo com os seus próprios olhos o que cada complemento faz.

Obs -Usarei exemplos daqui do forum no tutorial e não estranhem se aparecer uma frase idêntica a do boss pois não da pra simplificar mais, então vamos começar.

base do comando isso é:

CÓDIGO:
For "complemento" %%variavel in (conjunto) do (ação sobre o conjunto)


Exemplos básicos desse comando

CÓDIGO:
for %%a in (Pasta1 Pasta2 Pasta3) do (md %%a)


CÓDIGO:
for %%b in (notepad.exe msnmsgr.exe ) do (taskkill -f -im %%b)


CÓDIGO:
for %%c in (File.txt File2.txt) do (del /s /f /q %%c)


Antes que você tenha essa duvida (Não importa a varável %%a %%b %%c tudo vai dar no mesmo)

Esses exemplos foi só pra dar uma pequena amostra do que este comando e capaz mais isso não e nem o começo agora vamos ver os complementos para utilização do "for".


> Opções para serem utilizadas antes dos "complementos"
[/L] - Serve para especificar um loop "for /l %%a in (1,1,100) do (echo %%a)"Exemplos + Explicação
[/D] - Serve para listar diretórios "for /d %%a in (*) do (echo %%a)" -------->Exemplos + Explicação
[/R] - E um Incremento para a opção '/d' "for /d /r %%a in (*) do (echo %%a)"Exemplos + Explicação 
[/F] - Serve como um ultilitario avançado de textos "tem muitos exemplos"

> Opções no "Conjunto" 
[""] - Especifica uma cadeia de caracteres "for /f "tokens=*" %%a in ("%Date%") do (echo %%a)" 
[' '] - Especifica um comando "for /f "tokens=*" %%a in ('type Arquvio.txt') do (echo %%a)" 
[ ] - Especifica conjunto de arquivos "for %%a in (Ola.txt Final.txt) do (del /s /f /q %%a)" 

> Complementos na opção /f 

Atenção ! Esses comandos so funcionam se estiverem acompanhados da opção '/F' & Antes de ver os "complementos" (goto teste)

[tokens] Limita visualização de camadas (goto tokens)
[delims] Especifica o caracter delimitador (goto Delims)
[skip] Especifica a quantidade de linhas para serem puladas (goto Skip)
[eol] Especifica o caractere para ser ignorado... (goto eol)
[usebackq] Muda a forma de se interpretar o conjunto (goto userbackq)
goto Sets

:teste
bom e meio dificil explicar esses complementos mais para melhor entendimento vamos precisar disso

CÓDIGO:
Linha1 Parte1 Teste1
Linha2 Parte2 Teste2
Linha3 Parte3 Teste3
Cole dentro do bloco de notas e salve como "Arquivo.txt"
obs - Quando tiver a hashtag #PodeUsar esta se referindo ao "Arquivo.txt" acima
goto:eof

:tokens
Veja você mesmo o uso desse comando
#PodeUsar

CÓDIGO:
for /f "Tokens=1" %%a in (Arquivo.txt) do (echo %%a)

O resultado disso seria

CÓDIGO:
Linha1
Linha2
Linha3

e se colocarmos

CÓDIGO:
for /f "Tokens=2" %%a in (Arquivo.txt) do (echo %%a)

o resultado seria

CÓDIGO:
Parte1
Parte2
Parte3

para que vejamos todo o conteudo do arquivo ultilizamos o caractere '*'

CÓDIGO:
for /f "Tokens=*" %%a in (Arquivo.txt) do (echo %%a)

bom podemos fazer variações na ordem de como se visualizara.

CÓDIGO:
for /f "Tokens=1,2" %%a in (Arquivo.txt) do (echo %%a %%b)
Dai isso resultaria em
CÓDIGO:
Linha1 Parte1
Linha2 Parte2
Linha3 Parte3
Percebam que no (conjunto de ação) eu coloquei "%%a" e "%%b" pois se ficasse só o "%%a" não apareceria a segunda coluna de linhas, coloquei o "%%b" por que o "B" e o numero afrente do "A", tipo se a variável fosse "%%1" ficaria "%%1" "%%2".
Poderíamos colocar

CÓDIGO:
for /f "Tokens=1,2,3" %%a in (Arquivo.txt) do (echo %%b %%a %%c)

isso acarretaria em

CÓDIGO:
Parte1 Linha1 Teste1
Parte2 Linha2 Teste2
Parte3 Linha3 Teste3
Também da pra encurtar o processo tipo você quer colocar o "tokens" de 1 a 9 envez de colocar 1,2,3... vc pode usar da seguinte maneira
CÓDIGO:
for /f "tokens=1-9" %%a in (Arquivo.txt) do( echo %%a %%b %%c ...)
então acho que já da pra sacar pra que serve este complemento né ?
goto:eof

:delims
ele especifica o caractere delimitador (entre as palavras)
exemplo:
você tem o seguinte código chamado "teste.txt"

CÓDIGO:
Linha1-Parte1-Teste1
Linha2-Parte2-Teste2
Linha3-Parte3-Teste3
E quer separar cada camada, se usar só o "tokens" não ira pegar simplesmente pelo fato de as palavras estarem uma em contato com a outra tipo você colocaria
CÓDIGO:
for /f "tokens=1,2,3" %%a in (teste.txt) do (echo %%c %%b %%a)
Iria aparecer a mesma coisa do código original,agora usando o "delims" tipo isso aqui
CÓDIGO:
for /f "tokens=1,2,3 delims=-" %%a in (Arquivo.txt) do (echo %%c %%b %%a)
acarretaria em
CÓDIGO:
Teste1 Parte1 Linha1
Teste2 Parte2 Linha2
Teste3 Parte3 Linha3
Outro exemplo que acho melhor ainda de se entender e o da data olhem
CÓDIGO:
for /f "tokens=1,2,3 delims=/" %%a in ("%date%") do (echo Ano - %%c Mes - %%b Dia - %%a)
O resultado disso seria
CÓDIGO:
Ano - 2012 Mes - 08 Dia - 10
Um detalhe importante de ser ressaltado e que o caractere delims não foi igual ao do exemplo passado eu usei o '/' por que na data ele é utilizado para separar dia més e ano '10/08/2012'
goto:eof

:skip
No comando skip usaremos a #PodeUsar 
bom ele serve para pular linhas em sequencias veja

CÓDIGO:
for /f "tokens=* skip=1" %%a in (Arquivo.txt) do (echo %%a)

o Resultado disso seria

CÓDIGO:
Linha2 Parte2 Teste2
Linha3 Parte3 Teste3

como você pode ver pulou a primeira linha
obs - ele não e assim, tipo você coloca "skip=3" não pense que ele ira pular somente a terceira linha, e sim ira pular a primeira segunda e terceira. (e simplesmente isso o skip e bem simples na verdade )
goto:eof

:eol
Diferente do 'skip' o 'eol' serve para ignorar linhas com caracteres especificados por ele e não importa se estejam em ordem ou não. olha isso na pratica.
digamos que você tenha um arquivo chamado "texto.txt" com isso dentro

CÓDIGO:
boss-head
real madrid
baby
o melhor
black
time
e quer pular somente as linhas que tenham o caractere 'b' no inicio da frase
você colocaria esse comando

CÓDIGO:
for /f "tokens=* eol=b" %%a in (texto.txt) do (echo %%a)

resultaria nisso aqui

CÓDIGO:
real madrid
o melhor
time
Não tem nada pra acrescentar sobre este complemento
goto:eof

:usebackq
Esse comando serve para interpretar o conjunto de outro modo.
exemplo:Você tem um arquivo chamado de 'Ola galera.txt' e queria visualiza-lo no for se você colocar assim

CÓDIGO:
for /f "tokens=*" %%a in ("Ola galera.txt") do (echo %%a)
O prompt interpretaria como cadeia de caracteres simplesmente por que tem as [""] e iria mostrar "Ola galera.txt" na tela e não o conteúdo do arquivo então para mudar isso usa-se o "usebackq" ficando assim o código
CÓDIGO:
for /f "tokens=* usebackq" %%a in ("Ola galera.txt") do (echo %%a)
ai sim iria mostrar o conteúdo do arquivo

Obs - Tive que colocar aspas no conjunto por que o nome tem espaço e e a mesma coisa tipo quando você copia um arquivo se contiver espaços no meio do nome tem que colocar [""].
goto:eof


:Sets
* Alguns detalhes importantes
1 - Não importa a varável %%a %%b %%c tudo vai dar no mesmo
2 - No conjunto de ações não precisa ter () eu só coloco por organização
3 - O '%%Var' só e interpretado quando e salvo como ".bat" no prompt de comando utilize o '%Var'
4 - A grande sacada do for e a parte do 'delims' e 'tokens' aprendeu isso já e 70 % concluído
5 - O for ira economizar dezenas de linhas no seu código quando você sacar ele direito
6 - Você pode ver alguns exemplos do for clicando aqui
goto End

:End
Bom com isso concluímos o tutorial tenham a total certeza que tentei ser o mais claro possível
Aos que não entenderam pode me mandar a sua duvida em uma MP e tentearei soluciona-la
Aos Mods e as membros em geral podem me falar se me equivoquei em algum argumento ou coisas do tipo
A todos um abraço de Agamenon e fiquem com DEUS.

Att. Hemnon

29 de out. de 2012

Programa que cria um arquivo NULL no pendrive impedindo a entrada de vírus.

Para remover o autorun.inf do pendrive só formatando.
Créditos ao Boss-Head do fórum batch-satti


@ECHO OFF
TITLE PROTETOR DE DISCOS REMOVÖVEIS ^(USB^)
SETLOCAL ENABLEEXTENSIONS
VER | FIND /i " XP" >NUL
IF ERRORLEVEL -1 IF ERRORLEVEL 1 (
ECHO. ESSE SCRIPT FOI DESENVOLVIDO PARA WINDOWS XP.
GOTO END
)
ECHO\DETECTANDO O DISCO REMOVÖVEL (USB) . . .
SET "TXT=530054004F00520041"
FOR /F "DELIMS=\: TOKENS=0X3" %%^^ IN ('REG QUERY HKLM\SYSTEM\MOUNTEDDEVICES ^| FIND "%TXT%"') DO (
VOL %%^^: 8>NUL 1>&8 2>&1 && (
ECHO\UNIDADE DETECTADA DISCO REMOVÖVEL (USB) = %%^^:
CHKDSK %%^^: 0>NUL 2>&0 | FIND " FAT" >NUL
IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 (
IF EXIST %%^^:\AUTORUN.INF (DEL /F /Q /A %%^^:\AUTORUN.INF 7>NUL 1>&7 2>&1)
IF EXIST %%^^:\AUTORUN.INF (RD /Q /S \\?\%%^^:\AUTORUN.INF 6>NUL 1>&6 2>&1)
(MD \\?\%%^^:\AUTORUN.INF\...\) 5>NUL 1>&5 2>&1
(RD /Q /S \\?\%%^^:\AUTORUN.INF\...) 4>NUL 1>&4 2>&1
(CD.>\\?\%%^^:\AUTORUN.INF\NUL) 3>NUL 1>&3 2>&1
(MD \\?\%%^^:\AUTORUN.INF\...\%RANDOM%\...\ 9>NUL 1>&9 2>&1)
IF EXIST %%^^:\AUTORUN.INF (ECHO\SEU DISCO REMOVÖVEL %%^^: FOI PROTEGIDO CONTRA VIRUS AUTORUN.INF.)
) ELSE (ECHO. O DISCO REMOVÖVEL %%^^: NÇO  UM DISCO FAT OU FAT32.)
)
)

:END
(0>NUL SET /P %%=PRESSIONE UMA TECLA PARA SAIR . . . )
PAUSE >NUL
GOTO :EOF

Programa que cria um arquivo NULL no pendrive impedindo a entrada de vírus.

Para remover o autorun.inf do pendrive só formatando.
Créditos ao Boss-Head do fórum batch-satti


@ECHO OFF
TITLE PROTETOR DE DISCOS REMOVÖVEIS ^(USB^)
SETLOCAL ENABLEEXTENSIONS
VER | FIND /i " XP" >NUL
IF ERRORLEVEL -1 IF ERRORLEVEL 1 (
ECHO. ESSE SCRIPT FOI DESENVOLVIDO PARA WINDOWS XP.
GOTO END
)
ECHO\DETECTANDO O DISCO REMOVÖVEL (USB) . . .
SET "TXT=530054004F00520041"
FOR /F "DELIMS=\: TOKENS=0X3" %%^^ IN ('REG QUERY HKLM\SYSTEM\MOUNTEDDEVICES ^| FIND "%TXT%"') DO (
VOL %%^^: 8>NUL 1>&8 2>&1 && (
ECHO\UNIDADE DETECTADA DISCO REMOVÖVEL (USB) = %%^^:
CHKDSK %%^^: 0>NUL 2>&0 | FIND " FAT" >NUL
IF ERRORLEVEL 0 IF NOT ERRORLEVEL 1 (
IF EXIST %%^^:\AUTORUN.INF (DEL /F /Q /A %%^^:\AUTORUN.INF 7>NUL 1>&7 2>&1)
IF EXIST %%^^:\AUTORUN.INF (RD /Q /S \\?\%%^^:\AUTORUN.INF 6>NUL 1>&6 2>&1)
(MD \\?\%%^^:\AUTORUN.INF\...\) 5>NUL 1>&5 2>&1
(RD /Q /S \\?\%%^^:\AUTORUN.INF\...) 4>NUL 1>&4 2>&1
(CD.>\\?\%%^^:\AUTORUN.INF\NUL) 3>NUL 1>&3 2>&1
(MD \\?\%%^^:\AUTORUN.INF\...\%RANDOM%\...\ 9>NUL 1>&9 2>&1)
IF EXIST %%^^:\AUTORUN.INF (ECHO\SEU DISCO REMOVÖVEL %%^^: FOI PROTEGIDO CONTRA VIRUS AUTORUN.INF.)
) ELSE (ECHO. O DISCO REMOVÖVEL %%^^: NÇO  UM DISCO FAT OU FAT32.)
)
)

:END
(0>NUL SET /P %%=PRESSIONE UMA TECLA PARA SAIR . . . )
PAUSE >NUL
GOTO :EOF

14 de nov. de 2009

Como reiniciar o computador através de um programa em BATCH ?

 Fácil e simples:

shutdown -r -f -t 60 (para reiniciar)

shutdown -s -f -t 60 (para desligar),


-O "-r" é para reiniciar.
-O "-s" é para desligar.
-O "-t 60" é o tempo.
-O nº "60" é o tempo para desligar em segundos.

obs:. para cancelar o desligamento vá em iniciar>executar e digite: shutdown -a

para mais informações vá ao prompt e digite shutdown /?



Como reiniciar o computador através de um programa em BATCH ?

 Fácil e simples:

shutdown -r -f -t 60 (para reiniciar)

shutdown -s -f -t 60 (para desligar),


-O "-r" é para reiniciar.
-O "-s" é para desligar.
-O "-t 60" é o tempo.
-O nº "60" é o tempo para desligar em segundos.

obs:. para cancelar o desligamento vá em iniciar>executar e digite: shutdown -a

para mais informações vá ao prompt e digite shutdown /?



13 de out. de 2009


Comando FOR (FOR..IN..DO)

O comando FOR..IN..DO pode ser usado tanto em arquivos
BATch onde deve-se usar %%F (dois sinais de porcentagem e uma variável)
ou no prompt onde apenas um sinal de porcentagem é necessário,
simplificadamente, o programa faz o seguinte: "Com cada um destes, faça aquilo."
Como na maioria dos programas do DOS, basta pensar um pouco e você
poderá fazer coisas complexas com este comando, mas em sua forma mais simples, você poderia
trocar o DIR /B por FOR %F IN (*.*) DO ECHO %F
(Você precisará trocar o %F por %%F se usado em um arquivo BATch)
O %F ou %%F é apenas um variável temporária que só é ativada
enquanto o comando FOR..IN..DO está sendo executado, a letra usada "F"
não tem nenhum significado, poderia ser qualquer outra
Você poderia por exemplo usar o comando FOR..IN..DO para rodar todos
os seus programas BATch:
FOR %B IN (*.BAT) DO CALL %B



Comando FOR (FOR..IN..DO)

O comando FOR..IN..DO pode ser usado tanto em arquivos
BATch onde deve-se usar %%F (dois sinais de porcentagem e uma variável)
ou no prompt onde apenas um sinal de porcentagem é necessário,
simplificadamente, o programa faz o seguinte: "Com cada um destes, faça aquilo."
Como na maioria dos programas do DOS, basta pensar um pouco e você
poderá fazer coisas complexas com este comando, mas em sua forma mais simples, você poderia
trocar o DIR /B por FOR %F IN (*.*) DO ECHO %F
(Você precisará trocar o %F por %%F se usado em um arquivo BATch)
O %F ou %%F é apenas um variável temporária que só é ativada
enquanto o comando FOR..IN..DO está sendo executado, a letra usada "F"
não tem nenhum significado, poderia ser qualquer outra
Você poderia por exemplo usar o comando FOR..IN..DO para rodar todos
os seus programas BATch:
FOR %B IN (*.BAT) DO CALL %B


4 de out. de 2009

Não diga que você nunca deu pau no seu Pc e teve que formatar??? hein??? e também quem nunca se empolgo ou quis testar o GNU/Linux ??? mas depois desistiu, não curtiu muito ou precisou daquele espaço no HD??? muitas destas formatações poderiam se resolver com uma simples verificação de erros e uma reparação, então abaixo os principais comandos para se usar nestas ocasiões ou ate mesmo pra fazer uma manutençãozinha de rotina!

“CHKDSK C: /F”

Corrige problemas de sistemas de arquivos / corrompimento / erros de arquivos

(sem aspas; substitua C: pela unidade do windows instalada, caso tenha instalado em outra partição, o que é muito raro =D)

Como aplicar:

Windows XP > Iniciar, Executar, “cmd” (sem aspas). Na janela que se abrir, digite o comando “chkdsk c: /f”, dê enter, aceite pressionando S (Sim) e reinicie o computador. Aguarde a conclusão.
Windows Vista/Seven > Iniciar, na barra de pesquisa digite CMD, quando aparecer o promp de comando ou CMD.exe na busca, clique com botão direito, escolha executar como administrador, digite o comando “chkdsk c: /f” na janela que abrir, aceite dando um S (Sim) e reinicie o computador.

“SFC /SCANNOW”
Repõe os arquivos que faltam no Windows e restaura os originais, caso tenha ocorrido modificação no sistema

Observações:
Talvez seja necessário possuir o CD/DVD do Seu Windows em mãos, pois ele pode pedir
Restaura ícones originais do Windows caso tenham sido modificados / bootscreen / logon / Deskmods
Isto desabilita o boot de Windows Vista e Seven piratas.

Como aplicar:
Windows XP > Iniciar, Executar, “cmd” (sem aspas). Na janela que se abrir, digite o comando “sfc /scannow”, dê enter e aguarde.
Windows Vista/Seven > Iniciar, na barra de pesquisa digite CMD, quando aparecer o promp de comando ou CMD.exe na busca, clique com botão direito, escolha executar como administrador, instira o comando “sfc /scannow” , dê enter e aguarde.

“Copy x:\i386\NTLDR y:\”
“Copy x:\i386\NTDETECT.COM y:\”
Restaura o NTLDR necessário para boot do Windows XP

Como aplicar:
Insira o CD do Windows XP como se fosse formatar seu computador, dê boot, e pressione a tecla R quando sugerido para você entrar no console de restauração.
Após, digite os comandos acima, substituindo X pela unidade de CD/DVD (geralmente D:\ ou E:\) e Y a unidade onde o Windows está instalado (muito provavelente C:\)
Exemplo:

“Copy D:\i386\NTLDR C:\” dê um enter, depois:
“Copy D:\i386\NTDETECT.COM C:\” dê enter de novo e reinicie.

Para restaurar o boot do Vista ou Seven basta fazer o mesmo, entrar no sistema como se fosse instalar, selecionar reparar o seu computador (fica no rodapé, momentos antes de instalar) e o próprio Windows fará o resto.

Fonte : www.softarquivo.com

Não diga que você nunca deu pau no seu Pc e teve que formatar??? hein??? e também quem nunca se empolgo ou quis testar o GNU/Linux ??? mas depois desistiu, não curtiu muito ou precisou daquele espaço no HD??? muitas destas formatações poderiam se resolver com uma simples verificação de erros e uma reparação, então abaixo os principais comandos para se usar nestas ocasiões ou ate mesmo pra fazer uma manutençãozinha de rotina!

“CHKDSK C: /F”

Corrige problemas de sistemas de arquivos / corrompimento / erros de arquivos

(sem aspas; substitua C: pela unidade do windows instalada, caso tenha instalado em outra partição, o que é muito raro =D)

Como aplicar:

Windows XP > Iniciar, Executar, “cmd” (sem aspas). Na janela que se abrir, digite o comando “chkdsk c: /f”, dê enter, aceite pressionando S (Sim) e reinicie o computador. Aguarde a conclusão.
Windows Vista/Seven > Iniciar, na barra de pesquisa digite CMD, quando aparecer o promp de comando ou CMD.exe na busca, clique com botão direito, escolha executar como administrador, digite o comando “chkdsk c: /f” na janela que abrir, aceite dando um S (Sim) e reinicie o computador.

“SFC /SCANNOW”
Repõe os arquivos que faltam no Windows e restaura os originais, caso tenha ocorrido modificação no sistema

Observações:
Talvez seja necessário possuir o CD/DVD do Seu Windows em mãos, pois ele pode pedir
Restaura ícones originais do Windows caso tenham sido modificados / bootscreen / logon / Deskmods
Isto desabilita o boot de Windows Vista e Seven piratas.

Como aplicar:
Windows XP > Iniciar, Executar, “cmd” (sem aspas). Na janela que se abrir, digite o comando “sfc /scannow”, dê enter e aguarde.
Windows Vista/Seven > Iniciar, na barra de pesquisa digite CMD, quando aparecer o promp de comando ou CMD.exe na busca, clique com botão direito, escolha executar como administrador, instira o comando “sfc /scannow” , dê enter e aguarde.

“Copy x:\i386\NTLDR y:\”
“Copy x:\i386\NTDETECT.COM y:\”
Restaura o NTLDR necessário para boot do Windows XP

Como aplicar:
Insira o CD do Windows XP como se fosse formatar seu computador, dê boot, e pressione a tecla R quando sugerido para você entrar no console de restauração.
Após, digite os comandos acima, substituindo X pela unidade de CD/DVD (geralmente D:\ ou E:\) e Y a unidade onde o Windows está instalado (muito provavelente C:\)
Exemplo:

“Copy D:\i386\NTLDR C:\” dê um enter, depois:
“Copy D:\i386\NTDETECT.COM C:\” dê enter de novo e reinicie.

Para restaurar o boot do Vista ou Seven basta fazer o mesmo, entrar no sistema como se fosse instalar, selecionar reparar o seu computador (fica no rodapé, momentos antes de instalar) e o próprio Windows fará o resto.

Fonte : www.softarquivo.com

29 de set. de 2009

Trancar Pastas (funcionando 100%)
Para pessoas q querem bloquear suas pastas com senhasé muito simples, crie uma pasta onde quiser com qualquer nome dentro dessa pasta, crie um arquivo txt com o seguinte comando:

@ECHO OFF
title Folder Private
if EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto UNLOCK
if NOT EXIST Private goto MDLOCKER
:CONFIRM
echo Are you sure you want to lock the folder(Y/N)
set/p "cho=>"
if %cho%==Y goto LOCK
if %cho%==y goto LOCK
if %cho%==n goto END
if %cho%==N goto END
echo Invalid choice.
goto CONFIRM
:LOCK
ren Private "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
echo Folder locked
goto End
:UNLOCK
echo Enter password to unlock folder
set/p "pass=>"
if NOT %pass%== senha aqui goto FAIL
attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" Private
echo Folder Unlocked successfully
goto End
:FAIL
echo Invalid password
goto end
:MDLOCKER
md Private
echo Private created successfully
goto End
:End

lá na 23ª linha está em negrito 'senha aqui', troque esse 'senha aqui' por uma senha q vc queira ficando a linha assim:

if NOT %pass%== senha goto FAIL

Agora vai la em Salvar Como e salva com locker.bat ok.. voltando pra pasta onde foi salvo o arquivo bat abra o arquivo 'locker.bat' e irá aparecer uma pasta chamada 'Private' essa será a pasta q ficará escondida e só será aberta com a senha q vc escolheu. depois de ter criado a pasta 'Private', clique novamente sobre o arquivo 'locker.bat' e irá aparecer a janelinha do Dos .. a seguinte pergunta será feita:

Are you sure you want to lock the folder(Y/N)
Digite Y e dê enter.

repare agora q a pasta 'Private' desapareceu, ela está agora oculta e só será aberta qndo clicar novamente no arquivo 'locker.bat', pois aí será solicitada a senha, com a seguinte frase:

Enter password to unlock folder
Aí vc digita a senha

E verá a pasta reaparecer.

Fonte: www.softarquivo.com

Trancar Pastas (funcionando 100%)
Para pessoas q querem bloquear suas pastas com senhasé muito simples, crie uma pasta onde quiser com qualquer nome dentro dessa pasta, crie um arquivo txt com o seguinte comando:

@ECHO OFF
title Folder Private
if EXIST "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" goto UNLOCK
if NOT EXIST Private goto MDLOCKER
:CONFIRM
echo Are you sure you want to lock the folder(Y/N)
set/p "cho=>"
if %cho%==Y goto LOCK
if %cho%==y goto LOCK
if %cho%==n goto END
if %cho%==N goto END
echo Invalid choice.
goto CONFIRM
:LOCK
ren Private "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
attrib +h +s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
echo Folder locked
goto End
:UNLOCK
echo Enter password to unlock folder
set/p "pass=>"
if NOT %pass%== senha aqui goto FAIL
attrib -h -s "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}"
ren "Control Panel.{21EC2020-3AEA-1069-A2DD-08002B30309D}" Private
echo Folder Unlocked successfully
goto End
:FAIL
echo Invalid password
goto end
:MDLOCKER
md Private
echo Private created successfully
goto End
:End

lá na 23ª linha está em negrito 'senha aqui', troque esse 'senha aqui' por uma senha q vc queira ficando a linha assim:

if NOT %pass%== senha goto FAIL

Agora vai la em Salvar Como e salva com locker.bat ok.. voltando pra pasta onde foi salvo o arquivo bat abra o arquivo 'locker.bat' e irá aparecer uma pasta chamada 'Private' essa será a pasta q ficará escondida e só será aberta com a senha q vc escolheu. depois de ter criado a pasta 'Private', clique novamente sobre o arquivo 'locker.bat' e irá aparecer a janelinha do Dos .. a seguinte pergunta será feita:

Are you sure you want to lock the folder(Y/N)
Digite Y e dê enter.

repare agora q a pasta 'Private' desapareceu, ela está agora oculta e só será aberta qndo clicar novamente no arquivo 'locker.bat', pois aí será solicitada a senha, com a seguinte frase:

Enter password to unlock folder
Aí vc digita a senha

E verá a pasta reaparecer.

Fonte: www.softarquivo.com

26 de set. de 2009

Comandos Telnet
Comandos Telnet

Os comandos telnet permitem a comunicação com um computador remoto que esteja usando o protocolo Telnet. É possível executar telnet sem parâmetros para inserir o contexto do comando, indicado pelo prompt do Telnet (telnet>). No prompt Telnet, use os comandos a seguir para gerenciar um computador que esteja executando o cliente Telnet.

Os comandos tlntadmn permitem gerenciar remotamente um computador que esteja executando o servidor Telnet. Eles são executados no prompt de comando. Usado sem parâmetros, tlntadmn exibe as configurações do servidor local.

Para usar os comandos telnet no prompt Telnet
Para iniciar o cliente Telnet e inserir o prompt Telnet

Sintaxe

telnet [\\servidor_remoto]

Parâmetros

\\servidor_remoto
Especifica o nome do servidor ao qual você deseja se conectar.
/?
Exibe ajuda no prompt de comando.

Comentários

  • Usado sem parâmetros, telnet inicia o cliente Telnet.
  • Quando você estiver no prompt Telnet, utilize comandos Telnet.
Para parar o cliente Telnet

Sintaxe

quit

Parâmetros

nenhum

Comentários

  • É possível abreviar este comando para q.
Para conectar o cliente Telnet a um computador remoto

Sintaxe

open [\\servidor_remoto] [porta]

Parâmetros

\\servidor_remoto
Especifica o nome do servidor a ser gerenciado. Se você não especificar um servidor, o servidor local será usado.
Porta
Especifica a porta a ser usada. Se você não especificar uma porta, a porta padrão será usada.

Comentários

  • É possível abreviar este comando para o.

Exemplos

Para conectar ao servidor remoto Redmond através do número de porta 44, digite:
o redmond 44
Para desconectar o cliente Telnet de um computador remoto

Sintaxe

close [\\servidor_remoto]

Parâmetros

\\servidor_remoto
Especifica o nome do servidor a ser gerenciado. Se você não especificar um servidor, o servidor local será usado.

Comentários

  • É possível abreviar este comando para c.

Exemplos

Para desconectar do servidor remoto Redmond, digite:
c redmond 44
Para definir opções do cliente Telnet

Sintaxe

set [\\servidor_remoto] [ntlm] [localecho] [term {ansi | vt100 | vt52 | vtnt}] [escape caractere] [logfile nome_do_arquivo] [logging] [bsasdel] [crlf] [delasbs] [mode {console | stream}] [?]

Parâmetros

\\servidor_remoto
Especifica o nome do servidor a ser gerenciado. Se você não especificar um servidor, o servidor local será usado.
ntlm
Ativará a autenticação NTLM se estiver disponível no servidor remoto.

localecho
Ativa o eco local.

term {ansi | vt100 | vt52 | vtnt}

Define o terminal como o tipo especificado.
escape caractere

Define o caractere de escape. Esse caractere pode ser único ou uma combinação da tecla CTRL e um caractere. Para definir uma combinação da tecla de controle, mantenha CTRL pressionada enquanto digita o caractere que deseja atribuir.

logfile nome_do_arquivo
Define o arquivo a ser usado para registrar a atividade Telnet. O arquivo de log precisa estar no computador local. O log começa automaticamente quando esta opção é definida.

logging
Ativa o log. Se um arquivo de log não for definido, será exibida uma mensagem de erro.

bsasdel
Define BACKSPACE para ser enviada como delete.

crlf
Define o novo modo de linha, que faz com que a tecla ENTER envie 0x0D, 0x0A.

delasbs
Define DELETE para ser enviada como backspace.

mode {console | stream}
Define o modo de operação.

?
Permite exibir a sintaxe completa deste comando.

Comentários

  • Para desativar uma opção definida anteriormente, no prompt Telnet, digite: unset [opção]
  • Para definir o caractere de escape, digite: –e caractere
  • Em versões do Telnet que não estão no idioma inglês, codeset opção está disponível. Codeset opção define o conjunto de códigos atual como uma opção, a qual pode ser: Shift JIS, EUC japonês, JIS Kanji, JIS Kanji (78), DEC Kanji, NEC Kanji. Você deverá definir o mesmo conjunto de códigos no computador remoto.
Para enviar comandos do cliente Telnet

Sintaxe

send [\\servidor_remoto] [ao] [ayt] [esc] [ip] [synch] [?]

Parâmetros

\\servidor_remoto
Especifica o nome do servidor a ser gerenciado. Se você não especificar um servidor, o servidor local será usado.
ao
Anula o comando de saída.
ayt
Envia um comando "Are you there?".
esc
Envia o caractere de escape atual.
ip
Interrompe o comando de processo.
synch
Executa a operação de sincronização do Telnet.
?
Permite exibir a sintaxe completa deste comando.
Para exibir as configurações atuais do cliente Telnet

Sintaxe

display

Parâmetros

nenhum

Comentários

  • O comando display lista os parâmetros em operação no momento para o cliente Telnet. Se estiver em uma sessão Telnet (em outras palavras, se estiver conectado a um servidor Telnet), você poderá sair dessa sessão para modificar os parâmetros pressionando CTRL+]. Para retornar à sessão Telnet, pressione ENTER.
fonte: Ajuda e suporte

Comandos Telnet
Comandos Telnet

Os comandos telnet permitem a comunicação com um computador remoto que esteja usando o protocolo Telnet. É possível executar telnet sem parâmetros para inserir o contexto do comando, indicado pelo prompt do Telnet (telnet>). No prompt Telnet, use os comandos a seguir para gerenciar um computador que esteja executando o cliente Telnet.

Os comandos tlntadmn permitem gerenciar remotamente um computador que esteja executando o servidor Telnet. Eles são executados no prompt de comando. Usado sem parâmetros, tlntadmn exibe as configurações do servidor local.

Para usar os comandos telnet no prompt Telnet
Para iniciar o cliente Telnet e inserir o prompt Telnet

Sintaxe

telnet [\\servidor_remoto]

Parâmetros

\\servidor_remoto
Especifica o nome do servidor ao qual você deseja se conectar.
/?
Exibe ajuda no prompt de comando.

Comentários

  • Usado sem parâmetros, telnet inicia o cliente Telnet.
  • Quando você estiver no prompt Telnet, utilize comandos Telnet.
Para parar o cliente Telnet

Sintaxe

quit

Parâmetros

nenhum

Comentários

  • É possível abreviar este comando para q.
Para conectar o cliente Telnet a um computador remoto

Sintaxe

open [\\servidor_remoto] [porta]

Parâmetros

\\servidor_remoto
Especifica o nome do servidor a ser gerenciado. Se você não especificar um servidor, o servidor local será usado.
Porta
Especifica a porta a ser usada. Se você não especificar uma porta, a porta padrão será usada.

Comentários

  • É possível abreviar este comando para o.

Exemplos

Para conectar ao servidor remoto Redmond através do número de porta 44, digite:
o redmond 44
Para desconectar o cliente Telnet de um computador remoto

Sintaxe

close [\\servidor_remoto]

Parâmetros

\\servidor_remoto
Especifica o nome do servidor a ser gerenciado. Se você não especificar um servidor, o servidor local será usado.

Comentários

  • É possível abreviar este comando para c.

Exemplos

Para desconectar do servidor remoto Redmond, digite:
c redmond 44
Para definir opções do cliente Telnet

Sintaxe

set [\\servidor_remoto] [ntlm] [localecho] [term {ansi | vt100 | vt52 | vtnt}] [escape caractere] [logfile nome_do_arquivo] [logging] [bsasdel] [crlf] [delasbs] [mode {console | stream}] [?]

Parâmetros

\\servidor_remoto
Especifica o nome do servidor a ser gerenciado. Se você não especificar um servidor, o servidor local será usado.
ntlm
Ativará a autenticação NTLM se estiver disponível no servidor remoto.

localecho
Ativa o eco local.

term {ansi | vt100 | vt52 | vtnt}

Define o terminal como o tipo especificado.
escape caractere

Define o caractere de escape. Esse caractere pode ser único ou uma combinação da tecla CTRL e um caractere. Para definir uma combinação da tecla de controle, mantenha CTRL pressionada enquanto digita o caractere que deseja atribuir.

logfile nome_do_arquivo
Define o arquivo a ser usado para registrar a atividade Telnet. O arquivo de log precisa estar no computador local. O log começa automaticamente quando esta opção é definida.

logging
Ativa o log. Se um arquivo de log não for definido, será exibida uma mensagem de erro.

bsasdel
Define BACKSPACE para ser enviada como delete.

crlf
Define o novo modo de linha, que faz com que a tecla ENTER envie 0x0D, 0x0A.

delasbs
Define DELETE para ser enviada como backspace.

mode {console | stream}
Define o modo de operação.

?
Permite exibir a sintaxe completa deste comando.

Comentários

  • Para desativar uma opção definida anteriormente, no prompt Telnet, digite: unset [opção]
  • Para definir o caractere de escape, digite: –e caractere
  • Em versões do Telnet que não estão no idioma inglês, codeset opção está disponível. Codeset opção define o conjunto de códigos atual como uma opção, a qual pode ser: Shift JIS, EUC japonês, JIS Kanji, JIS Kanji (78), DEC Kanji, NEC Kanji. Você deverá definir o mesmo conjunto de códigos no computador remoto.
Para enviar comandos do cliente Telnet

Sintaxe

send [\\servidor_remoto] [ao] [ayt] [esc] [ip] [synch] [?]

Parâmetros

\\servidor_remoto
Especifica o nome do servidor a ser gerenciado. Se você não especificar um servidor, o servidor local será usado.
ao
Anula o comando de saída.
ayt
Envia um comando "Are you there?".
esc
Envia o caractere de escape atual.
ip
Interrompe o comando de processo.
synch
Executa a operação de sincronização do Telnet.
?
Permite exibir a sintaxe completa deste comando.
Para exibir as configurações atuais do cliente Telnet

Sintaxe

display

Parâmetros

nenhum

Comentários

  • O comando display lista os parâmetros em operação no momento para o cliente Telnet. Se estiver em uma sessão Telnet (em outras palavras, se estiver conectado a um servidor Telnet), você poderá sair dessa sessão para modificar os parâmetros pressionando CTRL+]. Para retornar à sessão Telnet, pressione ENTER.
fonte: Ajuda e suporte

Aqui alguns comando para otimizar seu pc pelo o prompt:

1: windows iniciar mais rapido: Bootcfg /timeout 10


Optimização no Boot
REG ADD "HKLM\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction" /v Enable /t REG_SZ /d Y /f
REG ADD "HKLM\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction" /v OptimizeComplete /t REG_SZ /d Yes /f


Menu Iniciar Máis Rápido
REG ADD "HKCU\Control Panel\Desktop" /v MenuShowDelay /t REG_SZ /d 100 /f
REG ADD "HKU\.DEFAULT\Control Panel\Deskstop" /v MenuShowDelay /t REG_SZ /d 100 /f


Aumentar a Taxa de Upload
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\AFD\Parameters" /v DefaultSendWindow /t REG_DWORD /d 0x00018000 /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v EnablePMTUDiscovery /t REG_DWORD /d 0x00000001 /f

Limpeza de Disco Mais Eficaz (Prevenção contra Travamentos)
REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Compress old files" /f

Otimização TCP/IP
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Lanmanserver\parameters" /v SizReqBuf /t REG_DWORD /d 0x00014596 /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider" /v class /t REG_DWORD /d 0x00000001 /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider" /v DnsPriority /t REG_DWORD /d 0x00000007 /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider" /v HostsPriority /t REG_DWORD /d 0x00000006 /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider" /v LocalPriority /t REG_DWORD /d 0x00000005 /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider" /v NetbtPriority /t REG_DWORD /d 0x00000008 /f

Otimização para o Cache de DNS
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters" /v CacheHashTableBucketSize /t REG_DWORD /d 0x00000001 /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters" /v CacheHashTableSize /t REG_DWORD /d 0x00000180 /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters" /v MaxCacheEntryTtLimit /t REG_DWORD /d 0x0000fa00 /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters" /v MaxSOACacheEntryTtLimit /t REG_DWORD /d 0x0000012d /f

Limpar Arquivos Temporários do Internet Explorer
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Cache" /v Persistent /t REG_DWORD /d 0x00000000 /f

Copie e cole o codigo na janela do prompt e dê enter
caso de errado aparecera um aviso de erro.

Aqui alguns comando para otimizar seu pc pelo o prompt:

1: windows iniciar mais rapido: Bootcfg /timeout 10


Optimização no Boot
REG ADD "HKLM\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction" /v Enable /t REG_SZ /d Y /f
REG ADD "HKLM\SOFTWARE\Microsoft\Dfrg\BootOptimizeFunction" /v OptimizeComplete /t REG_SZ /d Yes /f


Menu Iniciar Máis Rápido
REG ADD "HKCU\Control Panel\Desktop" /v MenuShowDelay /t REG_SZ /d 100 /f
REG ADD "HKU\.DEFAULT\Control Panel\Deskstop" /v MenuShowDelay /t REG_SZ /d 100 /f


Aumentar a Taxa de Upload
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\AFD\Parameters" /v DefaultSendWindow /t REG_DWORD /d 0x00018000 /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v EnablePMTUDiscovery /t REG_DWORD /d 0x00000001 /f

Limpeza de Disco Mais Eficaz (Prevenção contra Travamentos)
REG DELETE "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Compress old files" /f

Otimização TCP/IP
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Lanmanserver\parameters" /v SizReqBuf /t REG_DWORD /d 0x00014596 /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider" /v class /t REG_DWORD /d 0x00000001 /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider" /v DnsPriority /t REG_DWORD /d 0x00000007 /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider" /v HostsPriority /t REG_DWORD /d 0x00000006 /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider" /v LocalPriority /t REG_DWORD /d 0x00000005 /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\ServiceProvider" /v NetbtPriority /t REG_DWORD /d 0x00000008 /f

Otimização para o Cache de DNS
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters" /v CacheHashTableBucketSize /t REG_DWORD /d 0x00000001 /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters" /v CacheHashTableSize /t REG_DWORD /d 0x00000180 /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters" /v MaxCacheEntryTtLimit /t REG_DWORD /d 0x0000fa00 /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters" /v MaxSOACacheEntryTtLimit /t REG_DWORD /d 0x0000012d /f

Limpar Arquivos Temporários do Internet Explorer
REG ADD "HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Cache" /v Persistent /t REG_DWORD /d 0x00000000 /f

Copie e cole o codigo na janela do prompt e dê enter
caso de errado aparecera um aviso de erro.

18 de jul. de 2009

Basta Rodar o batch:

@ echo off
REG ADD HKEY_CURRENT_USER\Software\Microsoft\Window
s\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046} /v WinRAR.ZIP /
t REG_NONE /f
start www.pagina.com/arquivo.zip

by:boss head

Basta Rodar o batch:

@ echo off
REG ADD HKEY_CURRENT_USER\Software\Microsoft\Window
s\Shell\AttachmentExecute\{0002DF01-0000-0000-C000-000000000046} /v WinRAR.ZIP /
t REG_NONE /f
start www.pagina.com/arquivo.zip

by:boss head

veja:

ex.: start mailto:r.ml10@mail.com?subject=TESTE^&cc=ROMULO^&body=OI,This%20is%20an%20automatically%20created%20message.

1.A mensagem que deseja enviar ficará depois de "body="
esse "%20" representa o espaço entre as palavras .

2.E o mais importante é o e-mail ,que vc coloca depois de "mailto:"

duvidas? teste o exemplo acima, basta jogar no prompt e dar enter

veja:

ex.: start mailto:r.ml10@mail.com?subject=TESTE^&cc=ROMULO^&body=OI,This%20is%20an%20automatically%20created%20message.

1.A mensagem que deseja enviar ficará depois de "body="
esse "%20" representa o espaço entre as palavras .

2.E o mais importante é o e-mail ,que vc coloca depois de "mailto:"

duvidas? teste o exemplo acima, basta jogar no prompt e dar enter

eis o tal
>>>>>>>>
É super fácil descobrir IP's em ICQ e MSN messenger:

Uma delas é perguntando. A maioria das pessoas não vai desconfiar que é para algo "malvado".
E a outra é pegando a força !
Faça uma tentativa. Espere a vítima entrar on-line e inicie uma conversação. Desative tudo que acessar à internet em seu computador: e-mail, navegadores, eMule, KaZaa, e deixe apenas o MSN ou então apenas o ICQ(não pode usar os 
2). Troque algumas mensagens com ele e peça que ele lhe envie algum arquivo razoavelmente grande (MP3, imagem, programa, qualquer coisa). ANTES DE ACEITAR A TRANSFERÊNCIA, abra uma janela do MS-DOS.
Durantes a transferência, use o comando netstat -na na janela do MS-DOS. Na lista de conexões que vai aparecer, as últimas delas são os ips da sua conversação e da troca de arquivos. O IP remoto mostrado é o da vítima.
Essa dica funciona com qualquer transferência de dados on-line entre dois computadores. E-mail não é on-line: quem transfere é o servidor SMTP<>

eis o tal
>>>>>>>>
É super fácil descobrir IP's em ICQ e MSN messenger:

Uma delas é perguntando. A maioria das pessoas não vai desconfiar que é para algo "malvado".
E a outra é pegando a força !
Faça uma tentativa. Espere a vítima entrar on-line e inicie uma conversação. Desative tudo que acessar à internet em seu computador: e-mail, navegadores, eMule, KaZaa, e deixe apenas o MSN ou então apenas o ICQ(não pode usar os 
2). Troque algumas mensagens com ele e peça que ele lhe envie algum arquivo razoavelmente grande (MP3, imagem, programa, qualquer coisa). ANTES DE ACEITAR A TRANSFERÊNCIA, abra uma janela do MS-DOS.
Durantes a transferência, use o comando netstat -na na janela do MS-DOS. Na lista de conexões que vai aparecer, as últimas delas são os ips da sua conversação e da troca de arquivos. O IP remoto mostrado é o da vítima.
Essa dica funciona com qualquer transferência de dados on-line entre dois computadores. E-mail não é on-line: quem transfere é o servidor SMTP<>

Exibe ou modifica as listas de controle de acesso (ACLs) de arquivos

Ele atribui permissoões a um arquivo ou pasta.
>>>>



CACLS nome-arquivo [/T] [/E] [/C] [/G usu rio:perm] [/R usu rio [...]]

[/P usu rio:perm [...]] [/D usu rio [...]]

nome-arquivo Exibe ACLs.

/T Altera ACLs de arquivos especificados

na pasta atual e em todas as subpastas.

/E Edita ACL em vez de substitu¡-la.

/C Continua ao encontrar erros de acesso negado.

/G usu rio:perm Concede os direitos de acesso ao usu rio especificado.

Perm pode ser: R Ler

W Gravar

C Alterar (gravar)

F Controle total

/R usu rio Revoga os direitos de acesso do usu rio especificado

(v lido somente com /E).

/P usu rio:perm Substitui os direitos de acesso do usu rio especificado.

Perm pode ser: N Nenhum

R Ler

W Gravar

C Alterar (gravar)

F Controle total

/D usu rio Nega o acesso ao usu rio especificado.

Caracteres curinga podem ser usados para especificar mais de um arquivo

em um comando.

Vocˆ pode especificar mais de um usu rio em um comando.



Abrevia‡äes:

CI - Heran‡a de recipiente.

O ACE ser herdado pelas pastas.

OI - Heran‡a de objeto.

O ACE ser herdado pelos arquivos.

IO - Somente heran‡a.

O ACE nÆo se aplica ao arquivo/pasta atual.

Exibe ou modifica as listas de controle de acesso (ACLs) de arquivos

Ele atribui permissoões a um arquivo ou pasta.
>>>>



CACLS nome-arquivo [/T] [/E] [/C] [/G usu rio:perm] [/R usu rio [...]]

[/P usu rio:perm [...]] [/D usu rio [...]]

nome-arquivo Exibe ACLs.

/T Altera ACLs de arquivos especificados

na pasta atual e em todas as subpastas.

/E Edita ACL em vez de substitu¡-la.

/C Continua ao encontrar erros de acesso negado.

/G usu rio:perm Concede os direitos de acesso ao usu rio especificado.

Perm pode ser: R Ler

W Gravar

C Alterar (gravar)

F Controle total

/R usu rio Revoga os direitos de acesso do usu rio especificado

(v lido somente com /E).

/P usu rio:perm Substitui os direitos de acesso do usu rio especificado.

Perm pode ser: N Nenhum

R Ler

W Gravar

C Alterar (gravar)

F Controle total

/D usu rio Nega o acesso ao usu rio especificado.

Caracteres curinga podem ser usados para especificar mais de um arquivo

em um comando.

Vocˆ pode especificar mais de um usu rio em um comando.



Abrevia‡äes:

CI - Heran‡a de recipiente.

O ACE ser herdado pelas pastas.

OI - Heran‡a de objeto.

O ACE ser herdado pelos arquivos.

IO - Somente heran‡a.

O ACE nÆo se aplica ao arquivo/pasta atual.

14 de jan. de 2009

PromptAltera o prompt do Cmd.exe. Usado sem parâmetros, o comando prompt redefine o prompt de comando para a configuração padrão, a letra da unidade atual seguida da pasta atual e um símbolo de maior que (>).

Sintaxe
prompt [texto]

Parâmetros
texto
Especifica qualquer texto e informação a serem incluídos no prompt do sistema.
/?
Exibe ajuda no prompt de comando.
Comentários
Você pode personalizar o prompt de comando para exibir qualquer texto desejado, incluindo informações como o nome da pasta atual, a hora e a data, bem como a versão do Windows XP.
A tabela a seguir lista as combinações de caracteres que podem ser incluídas no lugar de uma ou mais seqüências de caracteres, ou adicionadas a essas seqüências, na opção de linha de comando texto. A lista inclui uma descrição resumida do texto ou da informação que cada combinação de caracteres adiciona ao prompt de comando. Caractere Descrição
$q = (sinal de igual)
$$ $ (cifrão)
$t Hora atual
$d Data atual
$p Unidade e caminho atuais
$v Versão do Windows XP
$n Unidade atual
$g > (sinal maior que)
$l < (sinal menor que)
$b | (pipe)
$_ ENTER-AVANÇO DE LINHA
$e Código ANSI de escape (código 27)
$h Backspace (para excluir um caractere escrito na linha do prompt de comando)
$a & (E comercial)
$c ( (parêntese esquerdo)
$f ) (parêntese direito)
$s espaço em branco

Quando as extensões de comando estão ativadas (isto é, o padrão), o comando prompt dá suporte aos caracteres de formatação listados na tabela a seguir. Caractere Descrição
$+ Zero ou mais caracteres de sinal de mais (+) dependendo da profundidade da pilha de diretórios de pushd, um caractere para cada nível adicionado.
$m O nome remoto associado à letra de unidade atual ou à seqüência vazia se a unidade atual não for uma unidade de rede.

Se você incluir o caractere $p no parâmetro texto, o disco será lido depois que digitar cada comando para determinar a unidade e o caminho atuais. Isso pode levar mais tempo, principalmente no caso de unidades de disquete.
Exemplos
O exemplo a seguir define o prompt de comando para exibir a unidade e o caminho atuais seguidos do símbolo maior que (>):

prompt $p$g

O comando a seguir exibe um prompt com duas linhas em que a hora atual é exibida na primeira linha e a data atual é exibida na segunda:

prompt time is: $t$_date is: $d

Formatando legenda

PromptAltera o prompt do Cmd.exe. Usado sem parâmetros, o comando prompt redefine o prompt de comando para a configuração padrão, a letra da unidade atual seguida da pasta atual e um símbolo de maior que (>).

Sintaxe
prompt [texto]

Parâmetros
texto
Especifica qualquer texto e informação a serem incluídos no prompt do sistema.
/?
Exibe ajuda no prompt de comando.
Comentários
Você pode personalizar o prompt de comando para exibir qualquer texto desejado, incluindo informações como o nome da pasta atual, a hora e a data, bem como a versão do Windows XP.
A tabela a seguir lista as combinações de caracteres que podem ser incluídas no lugar de uma ou mais seqüências de caracteres, ou adicionadas a essas seqüências, na opção de linha de comando texto. A lista inclui uma descrição resumida do texto ou da informação que cada combinação de caracteres adiciona ao prompt de comando. Caractere Descrição
$q = (sinal de igual)
$$ $ (cifrão)
$t Hora atual
$d Data atual
$p Unidade e caminho atuais
$v Versão do Windows XP
$n Unidade atual
$g > (sinal maior que)
$l < (sinal menor que)
$b | (pipe)
$_ ENTER-AVANÇO DE LINHA
$e Código ANSI de escape (código 27)
$h Backspace (para excluir um caractere escrito na linha do prompt de comando)
$a & (E comercial)
$c ( (parêntese esquerdo)
$f ) (parêntese direito)
$s espaço em branco

Quando as extensões de comando estão ativadas (isto é, o padrão), o comando prompt dá suporte aos caracteres de formatação listados na tabela a seguir. Caractere Descrição
$+ Zero ou mais caracteres de sinal de mais (+) dependendo da profundidade da pilha de diretórios de pushd, um caractere para cada nível adicionado.
$m O nome remoto associado à letra de unidade atual ou à seqüência vazia se a unidade atual não for uma unidade de rede.

Se você incluir o caractere $p no parâmetro texto, o disco será lido depois que digitar cada comando para determinar a unidade e o caminho atuais. Isso pode levar mais tempo, principalmente no caso de unidades de disquete.
Exemplos
O exemplo a seguir define o prompt de comando para exibir a unidade e o caminho atuais seguidos do símbolo maior que (>):

prompt $p$g

O comando a seguir exibe um prompt com duas linhas em que a hora atual é exibida na primeira linha e a data atual é exibida na segunda:

prompt time is: $t$_date is: $d

Formatando legenda

5 de jan. de 2009

If

If

O comando realiza processamento condicional em programas em lotes.

Sintaxe

if [noterrorlevel Número Comando [else Expressão]
if [notSeqüência1==Comando da Seqüência2 [else Expressão]
if [notexist Nome_de_Arquivo Comando [else Expressão]
Se as extensões de comando estiverem ativadas, use a seguinte sintaxe:
if [/iSeqüência1 Operador_de_Comparação Seqüência2 Comando [else Expressão]
if cmdextversion Número Comando [else Expressão]
if defined Variável Comando [else Expressão]

Parâmetros

not
Especifica que o comando só deve ser executado se a condição anterior for falsa.
errorlevel Número
Especifica uma condição verdadeira somente se o programa executado anteriormente por Cmd.exe tiver apresentado um código de saída igual ou superior aNúmero.
Comando
Especifica o comando que deve ser executado se a condição anterior for atendida.
Seqüência1 == Seqüência2
Especifica uma condição verdadeira somente se Seqüência1 e Seqüência2 forem iguais. Esses valores podem ser seqüências literais ou variáveis em lotes (%1, por exemplo). Não é necessário delimitar as seqüências de caracteres literais com aspas.
exist Nome_do_Arquivo
Especifica uma condição verdadeira, se Nome_do_Arquivo existir.
operador_de_comparação
Especifica um operador de comparação com três letras. A tabela a seguir lista os valores válidos para Operador_de_Comparação.

 

OperadorDescrição
EQU
igual a
NEQ
diferente de
LSS
menor que
LEQ
menor ou igual a
GTR
maior que
GEQ
maior ou igual a
/i
Força as comparações de seqüências de caracteres a ignorar maiúsculas e minúsculas. Você pode usar /i na forma Seqüência1==Seqüência2 de if. Essas comparações são genéricas, ou seja, se tanto Seqüência1 quanto Seqüência2 forem constituídas de dígitos numéricos, as seqüências serão convertidas em números e uma comparação numérica será realizada.
cmdextversion Número
Especifica uma condição verdadeira somente se o número da versão interna associado ao recurso de Extensões de Comando do Cmd.exe for igual ou superior a Número. A primeira versão é 1. Ela é incrementada de um quando melhorias significantes são adicionadas às extensões de comando. A condicionalcmdextversion nunca é verdadeira quando as extensões de comandos estão desabilitadas (por padrão, as extensões de comando estão habilitadas).
defined Variável
Especifica uma condição verdadeira, se Variável estiver definida.
Expressão
Especifica um comando e parâmetros de linha de comando a serem passados ao comando em uma cláusula else.
/?
Exibe ajuda no prompt de comando.

Comentários

  • Se a condição especificada em um comando if for verdadeira, o comando seguinte à condição será executado. Se a condição for falsa, o comando na cláusula if será ignorado e o comando executará qualquer comando na cláusula else (caso o comando tenha sido especificado na cláusula else). 
  • Quando um programa pára, ele retorna um código de saída. Para usar códigos de saída como condições, use errorlevel
  • Usando definedVariável
    Se você usar definedVariável, as três variáveis a seguir serão adicionadas: %errorlevel%%cmdcmdline% e %cmdextversion%.
    %errorlevel% é expandida em uma representação de seqüências do valor atual de errorlevel, desde que não haja uma variável de ambiente com o nome ERRORLEVEL; nesse caso, você obteria o valor dessa variável. O exemplo a seguir ilustra como você pode usar errorlevel depois de executar um programa em lotes:
    goto answer%errorlevel%
    
    :answer0
    
    echo Programa apresentou código 0
    
    :answer1
    
    echo Programa apresentou código 1
    
    goto End
    
    :end
    
    echo done! 
    
    Você também pode usar os operadores de comparação Operador_de_Comparação da seguinte forma:
    if %errorlevel% LEQ 1 goto okay
    
    %cmdcmdline% é expandido na linha de comando original passada para Cmd.exe antes de qualquer processamento do aplicativo, desde que não haja uma variável de ambiente com o nome CMDCMDLINE; nesse caso, você obteria o valor dessa variável.
    % cmdextversion % é expandido em uma representação de seqüências do valor atual de cmdextversion, desde que não haja uma variável de ambiente com o nome CMDEXTVERSION; nesse caso, você obteria o valor de dessa variável.
  • Usando a cláusula else
    A cláusula else deve ser usada na mesma do comando após if. Por exemplo:
    IF EXIST Nome_do_Arquivo. (
    
    del Nome_do_Arquivo.
    
    ) ELSE (
    
    echo Nome_do_Arquivo. ausente.
    
    )
    
    O código a seguir não funciona porque o comando del deve ser finalizado com uma nova linha:
    IF EXIST Nome_do_Arquivo. del Nome_do_Arquivo. ELSE echo Nome_do_Arquivo. ausente
    
    O código a seguir não funciona porque a cláusula else deve estar na mesma linha que o final do comando if:
    IF EXIST Nome_do_Arquivo. del Nome_do_Arquivo.
    
    ELSE echo Nome_do_Arquivo. ausente
    
    Se desejar formatar tudo em uma única linha, use a seguinte forma da instrução original:
    IF EXIST Nome_do_Arquivo. (del Nome_do_Arquivo.) ELSE echo Nome_do_Arquivo. ausente
    

Exemplos

Para exibir a mensagem "Impossível localizar arquivo de dados" caso o arquivo Produto.dat não seja encontrado, digite:
if not exist produto.dat echo Impossível localizar arquivo de dados 
O exemplo a seguir ilustra uma mensagem de erro caso ocorra um erro durante a formatação de um disco na unidade A:
:begin

@echo off

format a: /s

if not errorlevel 1 goto end

echo Ocorreu um erro durante a formatação.

:end

echo Fim do programa em lotes.
Se não houver erro, a mensagem de erro não será exibida.

Legenda da formatação

 

FormatoSignificado
Itálico
Informações que o usuário deve fornecer
Negrito
Elementos que o usuário deve digitar exatamente como é exibido
Reticências (...)
Parâmetro que pode ser repetido várias vezes em uma linha de comando
Entre colchetes ([])
Itens opcionais
Entre chaves ({}); opções separadas por barra vertical (|). Exemplo: {even|odd}
Conjunto de opções entre as quais o usuário deve escolher apenas uma
Courier font

fonte:
Saída de código ou de programa




If

If

O comando realiza processamento condicional em programas em lotes.

Sintaxe

if [noterrorlevel Número Comando [else Expressão]
if [notSeqüência1==Comando da Seqüência2 [else Expressão]
if [notexist Nome_de_Arquivo Comando [else Expressão]
Se as extensões de comando estiverem ativadas, use a seguinte sintaxe:
if [/iSeqüência1 Operador_de_Comparação Seqüência2 Comando [else Expressão]
if cmdextversion Número Comando [else Expressão]
if defined Variável Comando [else Expressão]

Parâmetros

not
Especifica que o comando só deve ser executado se a condição anterior for falsa.
errorlevel Número
Especifica uma condição verdadeira somente se o programa executado anteriormente por Cmd.exe tiver apresentado um código de saída igual ou superior aNúmero.
Comando
Especifica o comando que deve ser executado se a condição anterior for atendida.
Seqüência1 == Seqüência2
Especifica uma condição verdadeira somente se Seqüência1 e Seqüência2 forem iguais. Esses valores podem ser seqüências literais ou variáveis em lotes (%1, por exemplo). Não é necessário delimitar as seqüências de caracteres literais com aspas.
exist Nome_do_Arquivo
Especifica uma condição verdadeira, se Nome_do_Arquivo existir.
operador_de_comparação
Especifica um operador de comparação com três letras. A tabela a seguir lista os valores válidos para Operador_de_Comparação.

 

OperadorDescrição
EQU
igual a
NEQ
diferente de
LSS
menor que
LEQ
menor ou igual a
GTR
maior que
GEQ
maior ou igual a
/i
Força as comparações de seqüências de caracteres a ignorar maiúsculas e minúsculas. Você pode usar /i na forma Seqüência1==Seqüência2 de if. Essas comparações são genéricas, ou seja, se tanto Seqüência1 quanto Seqüência2 forem constituídas de dígitos numéricos, as seqüências serão convertidas em números e uma comparação numérica será realizada.
cmdextversion Número
Especifica uma condição verdadeira somente se o número da versão interna associado ao recurso de Extensões de Comando do Cmd.exe for igual ou superior a Número. A primeira versão é 1. Ela é incrementada de um quando melhorias significantes são adicionadas às extensões de comando. A condicionalcmdextversion nunca é verdadeira quando as extensões de comandos estão desabilitadas (por padrão, as extensões de comando estão habilitadas).
defined Variável
Especifica uma condição verdadeira, se Variável estiver definida.
Expressão
Especifica um comando e parâmetros de linha de comando a serem passados ao comando em uma cláusula else.
/?
Exibe ajuda no prompt de comando.

Comentários

  • Se a condição especificada em um comando if for verdadeira, o comando seguinte à condição será executado. Se a condição for falsa, o comando na cláusula if será ignorado e o comando executará qualquer comando na cláusula else (caso o comando tenha sido especificado na cláusula else). 
  • Quando um programa pára, ele retorna um código de saída. Para usar códigos de saída como condições, use errorlevel
  • Usando definedVariável
    Se você usar definedVariável, as três variáveis a seguir serão adicionadas: %errorlevel%%cmdcmdline% e %cmdextversion%.
    %errorlevel% é expandida em uma representação de seqüências do valor atual de errorlevel, desde que não haja uma variável de ambiente com o nome ERRORLEVEL; nesse caso, você obteria o valor dessa variável. O exemplo a seguir ilustra como você pode usar errorlevel depois de executar um programa em lotes:
    goto answer%errorlevel%
    
    :answer0
    
    echo Programa apresentou código 0
    
    :answer1
    
    echo Programa apresentou código 1
    
    goto End
    
    :end
    
    echo done! 
    
    Você também pode usar os operadores de comparação Operador_de_Comparação da seguinte forma:
    if %errorlevel% LEQ 1 goto okay
    
    %cmdcmdline% é expandido na linha de comando original passada para Cmd.exe antes de qualquer processamento do aplicativo, desde que não haja uma variável de ambiente com o nome CMDCMDLINE; nesse caso, você obteria o valor dessa variável.
    % cmdextversion % é expandido em uma representação de seqüências do valor atual de cmdextversion, desde que não haja uma variável de ambiente com o nome CMDEXTVERSION; nesse caso, você obteria o valor de dessa variável.
  • Usando a cláusula else
    A cláusula else deve ser usada na mesma do comando após if. Por exemplo:
    IF EXIST Nome_do_Arquivo. (
    
    del Nome_do_Arquivo.
    
    ) ELSE (
    
    echo Nome_do_Arquivo. ausente.
    
    )
    
    O código a seguir não funciona porque o comando del deve ser finalizado com uma nova linha:
    IF EXIST Nome_do_Arquivo. del Nome_do_Arquivo. ELSE echo Nome_do_Arquivo. ausente
    
    O código a seguir não funciona porque a cláusula else deve estar na mesma linha que o final do comando if:
    IF EXIST Nome_do_Arquivo. del Nome_do_Arquivo.
    
    ELSE echo Nome_do_Arquivo. ausente
    
    Se desejar formatar tudo em uma única linha, use a seguinte forma da instrução original:
    IF EXIST Nome_do_Arquivo. (del Nome_do_Arquivo.) ELSE echo Nome_do_Arquivo. ausente
    

Exemplos

Para exibir a mensagem "Impossível localizar arquivo de dados" caso o arquivo Produto.dat não seja encontrado, digite:
if not exist produto.dat echo Impossível localizar arquivo de dados 
O exemplo a seguir ilustra uma mensagem de erro caso ocorra um erro durante a formatação de um disco na unidade A:
:begin

@echo off

format a: /s

if not errorlevel 1 goto end

echo Ocorreu um erro durante a formatação.

:end

echo Fim do programa em lotes.
Se não houver erro, a mensagem de erro não será exibida.

Legenda da formatação

 

FormatoSignificado
Itálico
Informações que o usuário deve fornecer
Negrito
Elementos que o usuário deve digitar exatamente como é exibido
Reticências (...)
Parâmetro que pode ser repetido várias vezes em uma linha de comando
Entre colchetes ([])
Itens opcionais
Entre chaves ({}); opções separadas por barra vertical (|). Exemplo: {even|odd}
Conjunto de opções entre as quais o usuário deve escolher apenas uma
Courier font

fonte:
Saída de código ou de programa