![Escreva um texto específico em um arquivo .txt com script em lote](https://rvso.com/image/1438667/Escreva%20um%20texto%20espec%C3%ADfico%20em%20um%20arquivo%20.txt%20com%20script%20em%20lote.png)
Eu tenho um script que instala vários programas.
Gostaria de escrever uma série de scripts em lote para registrar essas instalações.
Eu esperava encontrar um comando que me permitisse selecionar esse arquivo de texto e escrever uma linha nele cada vez que ele fosse executado.
- instalações flash
- arquivo em lote é executado e registra o texto "flash instalado" em
c:\log\logfile.txt
- instalações java
- arquivo em lote é executado e grava o texto "java instalado" em
c:\log\logfile.txt
- e assim por diante
para que no arquivo de log quando terminar tenha
flash installed
java installed
chrome installed
so on
assim por diante
No entanto, estou encontrando muitos scripts para escrever linhas específicas ou editar sequências de texto específicas. Não estou vendo nenhum script para apenas escrever na próxima linha em branco. Talvez eu esteja fazendo isso da maneira errada.
Responder1
Paraacrescentaruma linha para um arquivo de texto usando um script em lote de linha de comando do Windows, você pode usar o redirecionamento de saída usando o sinal de maior que duas vezes >>
. Por exemplo
echo "java installed" >> c:\log\logfile.txt
Relacionado:
- Anexar stdout ao arquivo do terminal?(OSX mas também se aplica)
- Usando operadores de redirecionamento de comando(XP, mas principalmente ainda aplicável)
- Redirecionando mensagens de erro do prompt de comando: STDERR/STDOUT
Responder2
ei, na verdade, estou procurando uma resposta para outra coisa no momento e me deparei com isso, então pensei em postar um script que fiz em meu último trabalho
@echo off echo Verificação de Flash
definir KEY_NAMEFP=HklM\Software\macromedia\Flashplayer
definir VALUE_NAMEFP=CurrentVersion
para /F "usebackq tokens=3" %%A IN ( reg query "%KEY_NAMEFP%" /v "%VALUE_NAMEFP%" 2^>nul ^| find "%VALUE_NAMEFP%"
) do ( set A=%%A )
eco Flash %A%
echo Flash %A%>>%nomedocomputador%.log
eco Verificação do IE
set KEY_NAMEIE=HklM\Software\microsoft\internet explorer set VALUE_NAMEIE=svcVersion for /F "usebackq tokens=3" %%B IN ( reg query "%KEY_NAMEIE%" /v "%VALUE_NAMEIE%" 2^>nul ^| find "%VALUE_NAMEIE%"
) do ( set B=%%B )
eco da versão do IE %B%
echo Versão do IE %B%>>%nomedocomputador%.log
eco Java Verificação
set KEY_NAMEJ=HKLM\SOFTWARE\JavaSoft\Java Runtime Environment set VALUE_NAMEJ=CurrentVersion for /F "usebackq tokens=3" %%C IN ( reg query "%KEY_NAMEJ%" /v "%VALUE_NAMEJ%" 2^>nul ^| find "%VALUE_NAMEJ%"
) do ( set C=%%C )
eco da versão do Java %C%
echo Versão Java %C% >>%nomedocomputador%.log
pausa