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

Dúvida usar linhas de um .txt como valor para variável

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

Dúvida usar linhas de um .txt como valor para variável

Mensagem por coco em Qui Fev 18, 2010 11:03 am

Boas galera.
Gostaria de saber como usar um arquivo de txt sendo cada uma de sua linha se torna-se um valor para uma variável.

exemplo
variavel nome seria preenchida com a lista de nomes do arquivo txt.

@echo off
set nome=""
Digite o seu nome:
set /p nome=
echo.
echo Ola %nome% !!

obrigado

coco

Idade : 45

Voltar ao Topo Ir em baixo

Re: Dúvida usar linhas de um .txt como valor para variável

Mensagem por Boss-Head em Qui Fev 18, 2010 2:09 pm

Não sei se é isso que vc precisa más se vc não digitar nada a variavel nome assume outro valor
Código:
@echo off
echo Digite o seu nome:
set /p nome=
if "%nome%"=="" set nome=Boss-Head
echo.
echo Ola %nome% !!
Pause >nul


outro exemplo é se vc criar um arquivo teste.txt e colocar o nome nele depois executa o batch e a variavel assume sempre a primeira linha do teste.txt

Código:
@echo off
echo Digite o seu nome:
set /p nome=<teste.txt
echo.
echo Ola %nome% !!
Pause >nul
:::::::::::::::::::::teste.txt:::::::::::
Boss-head
cocada
bolacha
::::::::::::::::::::::::::::::::::::::::::
avatar
Boss-Head

Idade : 32

Voltar ao Topo Ir em baixo

Re: Dúvida usar linhas de um .txt como valor para variável

Mensagem por leandrotsampa em Qui Fev 18, 2010 3:55 pm

Boa tarde, e como eu poderia fazer pra ele passar para a próxima linha???

Tipo ele pega o nome da primeira linha ai faz o que tem q fazer ai depois ele volta so que ai ele pega a segunda linha e assim sucessivamente.

leandrotsampa

Idade : 27

Voltar ao Topo Ir em baixo

Re: Dúvida usar linhas de um .txt como valor para variável

Mensagem por coco em Sex Fev 19, 2010 5:11 pm

Iria fazer a mesma pergunta ? o que eu quero fazer é o seu segundo exemplo Boss-Head...o que significa o comando nul.

coco

Idade : 45

Voltar ao Topo Ir em baixo

Re: Dúvida usar linhas de um .txt como valor para variável

Mensagem por coco em Sex Fev 19, 2010 5:33 pm

tentei a sua segunda opção não funcionou.
diz que o sistema não pode encontrar o arquivo especificado , sendo que criei o texto.txt na mesma pasta. vou tentar colocar o caminho por completo.

PS: erro de digitação.

coco

Idade : 45

Voltar ao Topo Ir em baixo

Re: Dúvida usar linhas de um .txt como valor para variável

Mensagem por Boss-Head em Sex Fev 19, 2010 6:58 pm

é teste.txt
e não texto.txt
não sei se é isso ?

Nul é um arquivo nulo que na verdade é uma variável de sistema e que existe em quase todas as linguagens !
no caso de ">nul"
eu estou enviando a saida de erro que seria mostrada "pressione uma tecla"na tela para a variavel nul porque você não consegue criar um arquivo em lugar nenhum com esse nome (teste assim crie um arquivo qualquer sem extensão com o nome nul, pode ser pasta se quiser e veja o que acontece)!
se vc não quisesse ver a saida de erro no batch poderia fazer isso
<FONT color=red>@echo off
echo Digite o seu nome:
set /p nome=
avatar
Boss-Head

Idade : 32

Voltar ao Topo Ir em baixo

Re: Dúvida usar linhas de um .txt como valor para variável

Mensagem por coco em Sex Fev 19, 2010 8:41 pm

mais tem como fazer para ele pegar o valor da segunda linha e assim sucessivamente?
valeu pela ajuda

coco

Idade : 45

Voltar ao Topo Ir em baixo

Re: Dúvida usar linhas de um .txt como valor para variável

Mensagem por OneKDash em Sab Fev 20, 2010 8:59 pm

Através do comando for /F da pra pegar linha por linha amigo. Use os parametros do /F para melhorar a execucao.
avatar
OneKDash

Idade : 25

http://www.d3f4ult.com

Voltar ao Topo Ir em baixo

Re: Dúvida usar linhas de um .txt como valor para variável

Mensagem por leandrotsampa em Seg Fev 22, 2010 9:23 am

Ficaria como no caso???

leandrotsampa

Idade : 27

Voltar ao Topo Ir em baixo

Re: Dúvida usar linhas de um .txt como valor para variável

Mensagem por Denison em Seg Fev 22, 2010 2:17 pm

Ola Srs.

coco, ha possibilidade de pegar n linhas que tiver o arquivo de texto.

Obs.: pode haver problemas na execução, como linhas em branco entre outras coisas.

Com base na sua pergunta montei um script utilizando informações do fórum. Talvez possa ajudar.

Importante!
Dá uma olhada no tutorial, voce pode encontrar o que está procurando:
[Você precisa estar registrado e conectado para ver este link.]

*atenção quando vc for especificar o nome do arquivo de texto, deixei como texto.txt

Segue:

Código:
@ECHO OFF
::conta a quantidade de linhas
type texto.txt | find /v /c "" < texto.txt>nlinhas
set/p n=<nlinhas
@ECHO QUANTIDADE DE LINHAS: %n%
DEL nlinhas
@ECHO.
@ECHO SERAO CRIADAS %n% VARIAVEIS.
type texto.txt>bkp.txt

SET/A J=1

::ATRIBUI VALOR NA VARIAVEL
:INI
SET/P K%J%=<TEXTO.TXT
SET/P K=<TEXTO.TXT
(
@ECHO 1d
@ECHO E
) | EDLIN /B texto.txt>NUL 2>&1
del texto.bak
@ECHO.
@ECHO MOSTRANDO A %J%a VARIAVEL:
@ECHO %K%
@ECHO.

IF "%J%" EQU "%n%" (del texto.txt&ren bkp.txt texto.txt&@ECHO.&@ECHO AS %n% VARIAVEIS JA FORAM CRIADAS!&PAUSE>NUL&exit) ELSE SET/A J=%J%+1&GOTO INI

Até mais.
avatar
Denison

Idade : 32

Voltar ao Topo Ir em baixo

Re: Dúvida usar linhas de um .txt como valor para variável

Mensagem por leandrotsampa em Qui Fev 25, 2010 12:42 pm

coco escreveu:Boas galera.
Gostaria de saber como usar um arquivo de txt sendo cada uma de sua linha se torna-se um valor para uma variável.

exemplo
variavel nome seria preenchida com a lista de nomes do arquivo txt.

@echo off
set nome=""
Digite o seu nome:
set /p nome=
echo.
echo Ola %nome% !!

obrigado

Boa tarde, eu descobri uma maneira ficando mais ou menos assim:

nome.txt > arquivo contendo os nomes

Código:
@echo off
setlocal enabledelayedexpansion
set c=0
set /p nome=<nome.txt
echo Ola %nome% !!

rem Deleta a primeira linha, colocando o que era a segunda como variavel.
for /f "tokens=*" %%a in (nome.txt) do (
set /a c+=1
if [!c!] NEQ [1] echo %%a>>nome1.txt
del nome.txt
ren nome1.txt nome.txt
echo Ola pra vc tbm %nome% !!
)
endlocal

pause

Coloque o seguinte no arquivo nome.txt
Código:
Leandro
Carol
[Você precisa estar registrado e conectado para ver esta imagem.]

leandrotsampa

Idade : 27

Voltar ao Topo Ir em baixo

Re: Dúvida usar linhas de um .txt como valor para variável

Mensagem por coco em Seg Mar 01, 2010 4:55 pm

to vendo os exemplos que passaram se alguem tiver outras soluções pode postar serão bem vindas e valeu pela contribuição do pessoal.

coco

Idade : 45

Voltar ao Topo Ir em baixo

Re: Dúvida usar linhas de um .txt como valor para variável

Mensagem por R4TH4CK3R em Qua Mar 03, 2010 2:28 pm

Código:

FOR /F "USEBACKQ SKIP=(linhas a saltar, ou use o set/a para a variavel pretendida) TOKENS=1 DELIMS= " %%A IN ("(ficheiro)") DO SET (variavel)=%%A
avatar
R4TH4CK3R

Idade : 19

https://sites.google.com/site/r4th4ck3r/

Voltar ao Topo Ir em baixo

Re: Dúvida usar linhas de um .txt como valor para variável

Mensagem por Boss-Head em Qua Mar 03, 2010 2:52 pm

Veja um exemplo que postei em um outro forum [Você precisa estar registrado e conectado para ver esta imagem.] Sad)
o que ele faz lê a primeira linha executa o comando / retorna pra proxima linha executa easim.......


Código:
@echo off
if not exist lista.txt call :lista
for /f "tokens=*" %%x in ('type lista.txt') do (call :seguinte "%%x")

:seguinte
color 0f
cls

set ip=%~1
IF "%ip:~0,1%"=="X" goto fim
set ip=%ip:http://=%
set ip=%ip:/=%
set ip=%ip: =%
set ip=%ip:-= %
set ip=%ip:X=%
set ip=%ip:x=%
echo.
echo. Carregando ip %ip%
echo.
set "bar="
set "percent=0"
set "count=0"
for /l %%i in (1,1,10) do set "bar=!bar!±"
:loop
set /p "= %bar:~0,10% %percent%%%"
ping -n 1 -w 1 localhost>nul
for /l %%i in (1,1,16) do set /p "="
set "bar=Û%bar%"
set /a "count+=1"
set /a "percent+=2"
if %count% leq 10 goto:loop
echo.
echo.
echo.
echo  Tentando acesso ao ip
echo.
PING -n 1 %ip% >nul
if %ERRORLEVEL%==1 (
set /a inati+=1
color 0C
cls
echo. --------------------------------------------------------
echo.
echo %ip% Inativo ou fora da rede
echo.
echo. --------------------------------------------------------
Ping -n 2 0.0.0.0>nul 2>&1
)
if %ERRORLEVEL%==0 (
set /a ati+=1
color 0B
cls
echo. --------------------------------------------------------
echo.
echo IP - %ip% esta conectada
echo.
echo. --------------------------------------------------------
Ping -n 2 0.0.0.0>nul 2>&1
)
goto:eof

:fim
msg * "Processo de leitura concluido"
msg * "Total de IPS inativos ou fora da rede - %inati%"
msg * "Total de IPS ativos e cadastradas - %ati%"
exit


:lista
(
Echo 192.168.160.241
Echo 192.168.195.22
Echo 172.16.36.240
Echo 192.168.205.249
Echo 192.168.205.250
Echo 172.24.3.61
Echo 172.24.1.60
Echo 172.24.2.162
Echo 172.24.2.123
Echo X
)>lista.txt
goto:eof


Última edição por Boss-Head em Qua Mar 03, 2010 2:57 pm, editado 1 vez(es)
avatar
Boss-Head

Idade : 32

Voltar ao Topo Ir em baixo

Re: Dúvida usar linhas de um .txt como valor para variável

Mensagem por Boss-Head em Qua Mar 03, 2010 2:54 pm

detalhe o x na frente do ip é só pra dizer que a lista chegou no fim
avatar
Boss-Head

Idade : 32

Voltar ao Topo Ir em baixo

Re: Dúvida usar linhas de um .txt como valor para variável

Mensagem por leandrotsampa em Sab Mar 13, 2010 10:44 pm

Oh então esse batch que vc passoa eu precisei ficar dando ENTER pra poder avançar a porcentagem...
E isso msm???

leandrotsampa

Idade : 27

Voltar ao Topo Ir em baixo

Re: Dúvida usar linhas de um .txt como valor para variável

Mensagem por mfernandop em Seg Out 08, 2012 12:20 pm

Gostaria de saber se consigo montar uma linha de comando pegando um valor de 2 arquivos tipo assim:

ping %a% | grep nslookup %b%

tipo o valor %a% pega da linha do arquivo1.txt e o %b% pega do arquivo2.txt

mfernandop

Idade : 33

Voltar ao Topo Ir em baixo

Re: Dúvida usar linhas de um .txt como valor para variável

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