Jump to content

Problema paradoxal - Saída em arquivo com dir


0413anonymous

Recommended Posts

Galera, seguinte...

 

Me deparei com uma situação em que não consegui achar uma solução para ela e, tomara que eu consiga me fazer entender para alguém que queira ajudar-me nisso...

 

Vamos lá... No cmd, se digitarmos "dir > dir.txt", nesse arquivo gerado mostrará (dentre as outras infos) o próprio arquivo "dir.txt" que acabara de ser gerado. Porém, eu notei 2 problemas nisso (se você quer ter esse arquivo ATUALIZADO, claro):

 

1- O "dir.txt" o mostrará com 0 bytes (ao invés do correto, que é o tamanho dele após o arquivo ser gerado)

2- Na última linha do comando (bytes free), também estará desatualizada, ou seja, sem o decremento do tamanho que consumiu a geração do arquivo "dir.txt"

 

Alguém saberia uma forma de solucionar este problema paradoxal, ou seja, de forma que eu consiga que o arquivo "dir.txt" fique PRECISAMENTE com a mesma saída de um dir APÓS a geração deste arquivo?

 

Tomara que eu tenha conseguido me fazer entender... Se alguém tiver a fim de ajudar, porém não entendeu o meu problema, eu tentarei explicar de outra maneira...

 

Desde já, obrigado!

Link to comment
Share on other sites

  • Administrators

Isso acontece por conta da ordem das coisas. No comando "dir > dir.txt", três coisas acontecem, nessa ordem:

  1. Um arquivo dir.txt é criado vazio (por conta do redirecionador "> dir.txt").
  2. O comando dir roda e lê todo o conteúdo do diretório, que tem o dir.txt vazio neste momento.
  3. Ao tentar imprimir o que leu, o cmd redireciona a saída padrão para o arquivo dir.txt, que ainda tá vazio, mas agora terá a saída do comando dir já pronta no passo anterior.

A única forma que conheço é usar outro diretório. Isso não resolve o problema paradoxal que você apresentou. Creio que não haja solução para considerar o tamanho do dir.txt porque ele só é preenchido depois que o comando dir roda, o que cria o paradoxo que você falou.

Abraço! 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...