Ir ao conteúdo
  • Cadastre-se

Ler TXT e armazenar conteúdo em variável


Banys

Posts recomendados

Olá Banys,

Olá

estou tentado criar uma BAT onde uma das trarefas executas é ler um TXT(só tem uma linha) e armazenar seu conteúdo em uma variável qualquer.:confused:

Outra coisa, se possível, é escrever o resultado de vários comandos um do lado do outro separado por ";", ex.:

reg query "HKLM\Software\Microsoft\OLE /v c|find "EnableDCOM">>teste.txt

reg add "HKLM\Software\Microsoft\OLE /v EnableDCOM /t REG_SZ /d Y /f|find "EnableDCOM">>teste.txt

o 1° comando vai ler o dado do valor EnableDCOM no registro do windows e escrever o resultado em teste.txt. O 2° comando vai alterar o dado desse mesmo valor para Y e escrever no mesmo arquivo, ficando assim no TXT:

EnableDCOM REG_SZ N

EnableDCOM REG_SZ Y

Gostaria que o TXT saisse no formato;

EnableDCOM REG_SZ N;EnableDCOM REG_SZ N

Assim nesse formato poderei abrir em uma planilha, desde já muito obrigado!^_^

Vejo que você tem habilidade com linha de comando, então não terá muita dificuldade em analisar e resolver esse problema com as dicas abaixo.

Dê uma estudada no seguinte comando:

C:\>[B]FOR /?[/B]

Ele basicamente pode resolver esse problema. A ajuda disponível para o comando FOR é bastante rica e apresenta exemplos reais. Foque nos exemplos do comando FOR que ele dá ao usar (conjunto_de_arquivos) e (`comando`) (com a opção usebackq sendo usada).

Veja aí o que consegue, e qualquer dúvida é só postar.

;)

NW

Link para o comentário
Compartilhar em outros sites

beleza LNW,

consegui muito obrigado, agora estou travando outro luta, já estava usando o FOR antes sem saber muito bem, para executar as ações da BAT a partir de uma lista que tem os micros da rede, ao tentar incluir FOR dentro de FOR foi meio que desastre mas passei, o primeiro FOR pega hostname na lista.txt e executa os comandos, onde alguns deles mando escrever os resultados em TXT em seguida entra outro FOR que pra alocar este resultado nas variáveis, ex:

setlocal

FOR /F "eol=; tokens=1,3* delims=, " %%A in (lista.txt) do (

comando 1>c1.txt

FOR /F "eol=; tokens=1,3* delims=, " %%A in (C1.txt) do echo %%A

comando 2>c2.txt

FOR /F "eol=; tokens=1,3* delims=, " %%B in (C2.txt) do echo %%B

echo %%A;%%B>>final.txt

)

endlocal

Deu até certo, menos no final que é o arquivo final.txt onde gostria que escrevesse o conteúdo de C1.TXT ao lado de C2.TXT separado por ";", como isso vai correo uma lista de maquinas poderia abrir em planilha já formatada, mas apenas o que foi alocado de C1.TXT(%%A) foi escrito, saindo asim:

resultado de comando 1;%B

Alguma ideia?

tentei contornar trocando o echo %%A depois de DO por set C1=%%A, o mesmo para variável %%B, e no final echo %A%;%B%>>final.txt, mas tb não deu certo:

resultado de comando 1;%B%

:unsure::(:wacko:

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!