Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

E se eu quiser apagar uma informação de dentro do arquivo?

Tem como? Logo, poderia usar este arquivo como uma espécie de Banco De Dados "primitiva", tipo uma agenda de telefone, etc, e já me veio a ideia de consultas neste "banco".

Estou começando a gostar de conhecer melhor sobre o prompt, onde posso encontrar mais informações sobre ele?

2 respostas
solução!

Olá Adriano,

Sim é possível apagar dados de um arquivo .txt. Para isto, você deve encontrar a linha que você deseja apagar com um comando de busca por strings no prompt.

Deixe-me te mostrar como fazer isto abaixo. Supondo o arquivo de texto alura.txt com o seguinte conteúdo:

Ola eu sou uma linha
Linha RUIM - deletar!
Eu sou uma outra linha
Outra linha RUIM - Remover!

E que você queira deletar as linhas que contêm a palavra RUIM. Podemos utilizar o comando findstr que é responsável de fazer uma busca em arquivos de texto para achar a linha que você deseja remover. O seu uso é assim:

findstr /v "RUIM" alura.txt

A flag -v é para indicar que você quer mostrar todas as linhas que NÃO contêm a palavra buscada, no caso "RUIM". Este comando vai retornar o seguinte conteúdo:

Ola eu sou uma linha
Eu sou uma outra linha

Agora que temos um texto com apenas as linhas que desejamos, podemos salvar este texto em um arquivo de saída, utilizando o redirecionador >:

findstr /v "RUIM" alura.txt > saida.txt

E depois modificar o arquivo original, o alura.txt, para que ele tenha o contéudo filtrado que está no saida.txt:

saida.txt > alura.txt

O conteúdo final do alura.txt será:

Ola eu sou uma linha
Eu sou uma outra linha

Que é exatamente o que queríamos. Podemos até mesmo deletar o arquivo de saída, já que não vamos precisar mais dele:

del saida.txt

Resumindo tudo em um único script, ficaria assim:

findstr /v "RUIM" alura.txt > saida.txt
saida.txt > alura.txt
del saida.txt

Espero que resolva sua dúvida!

Quanto a sua questão, se você deseja se aprofundar mais sobre batch script, ESTE tutorial tem bastante coisas avançadas que você pode ir consultando conforme a necessidade!

Atenciosamente,

Douglas Quintanilha

Douglas, quando eu digito o comando abaixo no prompt: saida.txt > alura.txt E depois teclo ENTER, o que está ocorrendo é que o bloco de notas está sendo aberto, exibindo o conteúdo do arquivo saida.txt. E nada está sendo copiado para o arquivo alura.txt. Você teria alguma idéia sobre o motivo disso estar acontecendo?