Batch-Satti
Se você ainda não é um membro cadastre-se!

Existem centenas de scripts para quem é membro.

As categorias para os membros cadastrados são:

BATCH-SCRIPTS COMPLETO.
(Espaço onde são postados os scripts que tenham funcionalidade completa)
BADCONS VIRUS E TROJANS .
(Espaço onde são postados scripts e técnicas em vírus trojans e worm baseados em scripts )
SOMENTE PARA MEMBROS.
(Espaço destinado aos membros discutirem ou tirarem duvidas)
TUTORIAIS E EXPLICAÇÕES.
(Aqui são colocadas as explicações de comandos e técnicas para confecção de scripts )

EXISTEM MUITAS OUTRAS CATEGORIAS MÁS ESSAS SÃO AS PRINCIPAIS !

ENTRE E PARTICIPE !!!!!!!
MENSAGENS AOS MEMBROS :
TIVEMOS QUE AUTORIZAR PROPAGANDAS NO FORUM E TALVEZ O FIREFOX E OUTROS NAVEGADORES NÃO FUNCIONEM
UTILIZEM O INTERNET EXPLORER OU ATUALIZEM PARA O FIREFOX 4.0 BETA

ASS. BOSS-HEAD


Pesquisa personalizada

me ajuda com uma duvida sobre variáveis.nível médio, eu acho

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

me ajuda com uma duvida sobre variáveis.nível médio, eu acho

Mensagem por paranauehuebr em Sex Set 11, 2015 6:00 pm

kkkkkkkkkkkkkkkk "nivel medio, eu acho" foi proposital

boss, me da uma ajuda..
preciso que meu batch defina uma variável e depois leia o conteúdo dela e depois de certa palavra por exemplo: "do", a próxima seria definida como uma variável

tipo, estou dando um exemplo, se puder reduzir ou melhorar fique a vontade! faça o que der e vier a facilitar e me ajudar  cheers
Código:
set marcascarros=nissan bmw porche mustang
set nissan=350z skyline
rem ou isso acima, ou eu criar um txt como um gigantesco banco de dados contendo tudo o que a de palavras e suas definições para que o bat leia, interprete a pergunta e responda coerente


:inicio
set /p var=pergunte algo para testar:           <--- no caso a pergunta seria tipo: quais sao os nomes dos carros da nissan?


for %%a in (%var%) do (
if %%a==os(as) set var1="a próxima palavra depois de "os" sem aspas"         <-----daqui pra baixo é "do","dos" ou "da","das"
if %%a==do(da,dos/das) set var2="a próxima palavra do %var% sem aspas                  (menos a linha de cima)
if %%a==do(a,os/as) set var3="a próxima palavra do %var% sem aspas
if %%a==do(a,os/as) set var4="a próxima palavra do %var% sem aspas
if %%a==do(a,os/as) set var5="a próxima palavra do %var% sem aspas

rem infinitamente, pode ter 7, 8 ou 100 palavras "do" que a próxima seria definida como uma variável
rem para depois ser usada em outro comando

aqui em cima o bat verificara se a próxima palavra esta definida e tentara interpretar a pergunta, ex:
if "próxima palavra" defined "interpretar a pergunta e definir a variavel resposta como um comando" set resposta=echo (comando echo por exemplo, poderia ser outro, dependendo do que foi perguntado)



observação: tem um comando aqui no site que faz a reformulação de um texto, eu o usei para tirar virgulas, pontos e acentuações, ou seja, averá somente a frase crua, sem virgulas e acentuações


      1    2   3   4     5   6
em: quais sao os carros da nissan
set resposta=3 4 5 6 2: %nissan%


if %var:quais sao os=% neq %var% (
set resposta=%resposta% 3 4 5 6 2: %nissan%
)

%resposta%


aqui iria editar a variavel resposta e depois executa-la, o resultado seria esse:
os carros da nissan sao: 350z skyline

ou seja, não é pra ele falar os nomes dos carros da nissan, é para ele interpretar a pergunta e responder coerente e conclusivo, essa era minha intenção

paranauehuebr

Idade : 22

Voltar ao Topo Ir em baixo

Re: me ajuda com uma duvida sobre variáveis.nível médio, eu acho

Mensagem por André Luiz em Sab Set 12, 2015 8:31 am

Bom jovem estava com preguiça de implementar o meu algoritmo ao seu então eu apenas criei um esboço, mas pelo que vi você quer que criar tipo um vetor, pegar todas as partes que tem um do e a próxima mandar para um variável.

Código:
@Echo off
::Texto a ser informado.
Set "Carros=aCarro da Nissan e BMW"
::%Separador% é a palvra chave ele seta a variável depois da variável informada.
Set "Separador=DA"
::%Case% significa que a palavra "DA" que está no %Separador%
::não vai ser interpretado como case-sensitive(Diferencia maiúsculas de minusculas)
::Para mudar isso ou apague essa linha ou então apenas limpe á atribuição.
Set "Case=/I"
:Loop_0
::Loop_0 Necessário caso o da não esteja logo no inicio.
::O "For" seguido do Call Abaixo faz com que ele pegue todas as palavras
::após a primeira palavra e sete na mesma variável %Separador%.
For /f "tokens=2,* delims= " %%a in ("%Carros%") do Call :Reform "%%a %%b"
::Aqui ele vai verificar se precisa ou não procurar por mais algum conteúdo
::que se refere na variável %Separador% que no caso é DA.
If %Case% not "%Carros:~0,2%"=="%Separador%" Goto Loop_0
Echo.%CarrosNew%
Pause>nul & Exit
:Reform
::E essa lógica aqui é exatamente igual a de cima!
Set "Carros=%~1"
If %Case% "%Carros:~0,2%"=="%Separador%" For /f "tokens=2,* delims= " %%i in ("%Carros%") do Set "CarrosNew=%%i %%j"
::Este "exit/b" que usei abaixo serve para volta para o "Call :Reform" algo acima, eu poderia
::Usar apenas um "Goto :eof" para voltar, mas se eu fizesse isto ele não funcionaria como devido.
Exit/b

Bom olha ai eu depois eu volto de novo 'kk fica com Deus e até a próxima....
avatar
André Luiz

Idade : 20

http://procmd.blogspot.com.br

Voltar ao Topo Ir em baixo

Re: me ajuda com uma duvida sobre variáveis.nível médio, eu acho

Mensagem por André Luiz em Sab Set 12, 2015 8:35 am

Não sei se isso vai ajudar cara mas tenta usar o comando setlocal já que você quer criar variáveis dentro de um for, se caso não der certo então mande o seu código limpo sem comentário nem nada o resto eu olho! Razz se for explicar alguma coisa explica fora.
avatar
André Luiz

Idade : 20

http://procmd.blogspot.com.br

Voltar ao Topo Ir em baixo

Re: me ajuda com uma duvida sobre variáveis.nível médio, eu acho

Mensagem por paranauehuebr em Sab Set 12, 2015 5:48 pm

codigo errado, apaguei mensagem :/


Última edição por paranauehuebr em Seg Set 14, 2015 9:45 am, editado 1 vez(es) (Razão : :/)

paranauehuebr

Idade : 22

Voltar ao Topo Ir em baixo

Re: me ajuda com uma duvida sobre variáveis.nível médio, eu acho

Mensagem por paranauehuebr em Sab Set 12, 2015 5:56 pm

a função dele era interpretar qualquer pergunta ou resposta ou até mesmo uma afirmação (no caso da afirmação ele iria debater suas ideias e seu modo de pensar com o usuário) e responder coerente e conclusivo, com isso resolvendo o problema, ou seja, um cérebro robótico funcional no qual qualquer pessoa poderia conversar e tirar suas duvidas, perguntar sua opinião sobre algo para ele e debater qualquer assunto com ele, que ele ira interpretar e responder coerente a pergunta, essa seria minha intenção final com esse bat  Razz.. por favor não riam, do mesmo modo que é engraçado também e muito complexo e difícil de ser produzido, ou seja, do mesmo modo ele também tem seu respectivo respeito  lol!

paranauehuebr

Idade : 22

Voltar ao Topo Ir em baixo

Re: me ajuda com uma duvida sobre variáveis.nível médio, eu acho

Mensagem por André Luiz em Sab Set 12, 2015 8:46 pm

Olá vida louca dos paranauê 'kkkk
Bom cara agora sim eu entendi o que você quer fazer e você está fazendo do modo errado!
Você quer criar um IA(Inteligência artificial) um ia bom e funcional mesmo não é preciso um banco de dados e sim um algoritmo bom para isso e se você me perguntar como fazer eu digo, não sei!! 'kkk Já tentei é muito difícil, mas se você quiser nós podemos conversar sobre isso em privado meu perfil do facebook está ai me adc e nós nos falamos conheço um cara que criou um IA o Boss criou um com banco de dados e criar um assim é horrível.
Mas eu sei a lógica que você vai precisar para fazer isso só não sei por onde começar o algoritmo, é isso nós podemos debater sobre isso no TGS caso queira entrar no grupo fala a baixo ai!
avatar
André Luiz

Idade : 20

http://procmd.blogspot.com.br

Voltar ao Topo Ir em baixo

Re: me ajuda com uma duvida sobre variáveis.nível médio, eu acho

Mensagem por paranauehuebr em Dom Set 13, 2015 12:22 pm

quero, claro! não sei oq e tgs não mas me poim la também, se for grupo terrorista da alquaeda não me poim não, jesuis.. te mandei solicitação no face, depois adiciona nois (gíria)

paranauehuebr

Idade : 22

Voltar ao Topo Ir em baixo

Re: me ajuda com uma duvida sobre variáveis.nível médio, eu acho

Mensagem por Boss-Head em Qui Set 17, 2015 7:57 pm

Código:
@Echo off
Title -=: B©SS-HEAD CHATBOT :=-
:: Visite nosso site http://batch-satti.forumeiros.com
mode con cols=65 lines=9 &color 0A
 
:volta
set /p digita="> "
echo %digita%|find /i "Oi" >nul && echo ola !!
echo %digita%|find /i "Seu nome" >nul && echo Meu nome é boss, e o seu ?
echo %digita%|find /i "Meu nome é" >nul && echo belo nome o seu.
echo %digita%|find /i "Chover" >nul && echo Creio que fará sol.
echo %digita%|find /i "Tchau" >nul && (echo Que pena. Até logo! & goto :eof)
goto :volta

VEJA UM EXEMPLO DE INTERPRETAÇÃO POR PALAVRAS..
CLARO ADEQUE ELE...

DÁ PRA CRIAR UM BANCO DE DADOS SÓ DE PERGUNTAS EX.

Código:
@Echo off
Title -=: B©SS-HEAD CHATBOT :=-
:: Visite nosso site http://batch-satti.forumeiros.com
mode con cols=65 lines=9 &color 0A


:volta
CLS
SET PERG=0
SET ALGUEM=0
SET TRANSP=0


ECHO EXEMPLO 1 QUAL A COR DO CARRO DAQUELA PESSOA
ECHO EXEMPLO 2 QUAL O NOME DELE
ECHO EXEMPLO 3 CARRO DELE BRILHA ?

set /p digita="> "
FOR %%A IN  ( QUAL QUAIS PORQUE AONDE COMO QUEM QUANDO ) DO CALL:VERPER %%A
FOR %%A IN  ( DELE DELA PESSOA AMIGO AMIGA MULHER HOMEM ELE ELA ) DO CALL:VERALGUEM %%A
FOR %%A IN  ( CARRO MOTO AVIAO HELICOPTERO MOTOR LAMBRETA MOBILETE ) DO CALL:VERTRANSP %%A
:: PODE IR ACRESCENTANDO ADJETIVOS OU PALAVROES OU XINGAMENTOS SEI LÁ.
:: FOR %%A IN  ( FEIO BONITO MORENO GATAO CHEIROSO BABACA SUJO ) DO CALL:VERADJET %%A

IF %PERG% EQU 1 ECHO Peguntando sobre
IF %ALGUEM% EQU 1 Echo Alguem
IF %TRANSP% EQU 1 echo relacionado a transportes




PAUSE
GOTO volta

:VERPER
echo %digita%|find /i "%1" >nul && SET PERG=1 & GOTO:EOF
GOTO:EOF


:VERALGUEM
echo %digita%|find /i "%1" >nul && SET ALGUEM=1  & GOTO:EOF
GOTO:EOF

:VERTRANSP
echo %digita%|find /i "%1" >nul && SET TRANSP=1  & GOTO:EOF
GOTO:EOF
avatar
Boss-Head

Idade : 32

Voltar ao Topo Ir em baixo

Re: me ajuda com uma duvida sobre variáveis.nível médio, eu acho

Mensagem por Boss-Head em Sex Set 18, 2015 7:16 am

Código:
@Echo off
Title -=: B©SS-HEAD CHATBOT :=-
:: Visite nosso site http://batch-satti.forumeiros.com
mode con cols=65 lines=9 &color 0A


:volta
CLS
SET PERG=0
SET ALGUEM=0
SET TRANSP=0
SET ADJET=0
SET XING=0
SET PESSOA=0
SET BOOT=0
SET AFIRMA=0

ECHO EXEMPLO 1 MEU AMIGO E LEGAL ?
ECHO EXEMPLO 2 VOCE E UM CARA LEGAL ?
ECHO EXEMPLO 3 VOCE E UM CARA LEGAL !

set /p digita="> "

FOR %%A IN  ( QUAL QUAIS PORQUE AONDE COMO QUEM QUANDO ? ) DO CALL:VERPER %%A
FOR %%A IN  ( DELE DELA PESSOA AMIGO AMIGA MULHER HOMEM ELE ELA DAQUELE DAQUELA ) DO CALL:VERALGUEM %%A
FOR %%A IN  ( CARRO MOTO AVIAO HELICOPTERO MOTOR LAMBRETA MOBILETE ) DO CALL:VERTRANSP %%A
FOR %%A IN  ( FEIO BONITO LINDA MORENO GATAO CHEIROSO BABACA SUJO BONITA LINDA GOSTOSA LEGAL ) DO CALL:VERADJET %%A
FOR %%A IN  ( VACA PUTA PIRANHA VIADO CORNO CHIFRUDO VAGABUNDA VAGABUNDO ) DO CALL:VERXING %%A
FOR %%A IN  ( EU MEU MINHA ) DO CALL:VERPESSOA %%A
FOR %%A IN  ( VOCE SEU SUA CHATBOOT ROBO PROGRAMA SCRIPT COMANDO ) DO CALL:VERCHATBOOT %%A


:::: O QUE PODE SER TENTADO É AO VERIFICAR A PERGUNTA ::::
:::: EX. MEU AMIGO É LEGAL ? ::::
:::: EX. VOCE É UM CARA LEGAL ? ::::
:::: VEJA QUE MUDA O CONTEXTO DA RESPOSTA E SOMENTE MUDANDO ALGUMAS PALAVRAS :::::

IF %PERG% EQU 1 ECHO PEGUNTANDO SOBRE
IF %AFIRMA% EQU 1 ECHO AFIRMANDO QUE
IF %ALGUEM% EQU 1 ECHO ALGUEM
IF %TRANSP% EQU 1 ECHO RELACIONADO A TRANSPORTES
IF %ADJET% EQU 1 ECHO RELACIONADO A APARENCIA
IF %XING% EQU 1 ECHO DESCENDO A LENHA NA PESSOA
IF %PESSOA% EQU 1 ECHO DELE PROPRIO
IF %BOOT% EQU 1 ECHO SOBRE MIM

PAUSE
GOTO volta

:VERPER
echo %digita%|find /i "%1" >nul && SET PERG=1
echo %digita%|find /i "?" >nul && SET PERG=1
echo %digita%|find /i "!" >nul && SET AFIRMA=1
GOTO:EOF


:VERALGUEM
echo %digita%|find /i "%1" >nul && SET ALGUEM=1  & GOTO:EOF
GOTO:EOF

:VERTRANSP
echo %digita%|find /i "%1" >nul && SET TRANSP=1  & GOTO:EOF
GOTO:EOF


:VERADJET
echo %digita%|find /i "%1" >nul && SET ADJET=1  & GOTO:EOF
GOTO:EOF


:VERXING
echo %digita%|find /i "%1" >nul && SET XING=1  & GOTO:EOF
GOTO:EOF


:VERPESSOA
echo %digita%|find /i "%1" >nul && SET PESSOA=1  & GOTO:EOF
GOTO:EOF

:VERCHATBOOT
echo %digita%|find /i "%1" >nul && SET BOOT=1  & GOTO:EOF
GOTO:EOF

COLOQUEI DE MODO IGUAL, MAS DIFERENTE. ( DILMESMENTE FALANDO )
avatar
Boss-Head

Idade : 32

Voltar ao Topo Ir em baixo

Re: me ajuda com uma duvida sobre variáveis.nível médio, eu acho

Mensagem por Boss-Head em Sex Set 18, 2015 8:31 pm

Código:
@Echo off
Title -=: B©SS-HEAD CHATBATCH :=-
:: Visite nosso site http://batch-satti.forumeiros.com

:inicio
echo.
set /p "pergunta= %username% > : "
rundll32 user32.dll,MessageBeep -1 >nul
echo.
Set ce="http://www.inbot.com.br/cgi-bin/bot_gateway.cgi?server=bot.insite.com.br:8085&charset=text&pure=1&js=1&admi=&msg=%pergunta%"

call:siglas

FOR /F "TOKENS=*" %%A IN ('type question.txt') DO (SET txt=%%A & call:txt)

del /q /s question.txt >nul
goto inicio
:siglas
(
ECHO.function download(sFileURL, sLocation, async^)
ECHO.  set objXMLHTTP = CreateObject("MSXML2.XMLHTTP"^)
ECHO.  objXMLHTTP.open "GET", sFileURL, async
ECHO.  on error resume next
ECHO.  objXMLHTTP.send(^)
ECHO.  if err.number = 0 then
ECHO.    do until objXMLHTTP.Status = 200
ECHO.      wscript.echo objXMLHTTP.Status
ECHO.      wcript.sleep(200^)
ECHO.    loop
ECHO.    if objXMLHTTP.Status = 200 Then
ECHO.      set objADOStream = CreateObject("ADODB.Stream"^)
ECHO.      objADOStream.Open
ECHO.      objADOStream.Type = 1
ECHO.      objADOStream.Write objXMLHTTP.ResponseBody
ECHO.      objADOStream.Position = 0   
ECHO.      set objFSO = Createobject("Scripting.FileSystemObject"^)
ECHO.      If objFSO.Fileexists(sLocation^) Then objFSO.DeleteFile sLocation
ECHO.      Set objFSO = Nothing
ECHO.      objADOStream.SaveToFile sLocation
ECHO.      objADOStream.Close
ECHO.      set objADOStream = Nothing
ECHO.      download = true
ECHO.    end if
ECHO.  else
ECHO.    download = false
ECHO.  end if
ECHO.  set objXMLHTTP = Nothing
ECHO.end function
ECHO.
ECHO.if download(%ce% , "question.txt", false^) then
ECHO.  wscript.echo "download ok"
ECHO.else
ECHO.  wscript.echo "download nok"
ECHO.end if
)>HTML.VBS

Cscript /nologo HTML.VBS >nul
del /s /q HTML.VBS>nul
goto:eof

:txt
set /p =Chatbatch ^> :< nul

(
echo On Error Resume Next
echo dim txt
echo txt="%txt%"
echo for i=1 to len(txt^)
echo  wscript.sleep 70
echo  wscript.StdOut.Write mid(txt,i,1^)
echo next
echo wscript.echo ""
)>ef.vbs
cscript /nologo ef.vbs
del /Q ef.vbs
:beep
(
Echo on error resume next
Echo if val^(wscript.arguments^(0^)^) ^> 0 then
Echo for i = 1 to wscript.arguments^(0^)
Echo wscript.StdOut.Write chr^(7^)
ECHO.WScript.sleep 100
Echo next
Echo else
Echo wscript.Quit
Echo end if
Echo wscrip.quit
)>beep.vbs
Start /min CScript //nologo beep.vbs 1 >nul
goto:eof

tá ai um brinquedinho pra pensar...
façam as perguntas e vejam as respostas
avatar
Boss-Head

Idade : 32

Voltar ao Topo Ir em baixo

Re: me ajuda com uma duvida sobre variáveis.nível médio, eu acho

Mensagem por André Luiz em Sab Set 19, 2015 12:25 am

Boa Boss o problema é que odeio o ed 'kkkkkkkk

Assim olha boss para usar o beep no cmd pode fazer isso também
Echo."" (Mesmo que CTRL+G)
A só para constar tem um caracter ai no meio das aspas é porquê por aqui não dá para ser visto mas no cmd dá sim! Very Happy
Se for aberto por um bom editor dá para ver o caractere, no "Bloco de notas" só dá para ver um quadrado.
avatar
André Luiz

Idade : 20

http://procmd.blogspot.com.br

Voltar ao Topo Ir em baixo

Re: me ajuda com uma duvida sobre variáveis.nível médio, eu acho

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum