0413anonymous Posted October 1, 2021 at 09:37 AM Share Posted October 1, 2021 at 09:37 AM 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 More sharing options...
Administrators Fernando Mercês Posted October 1, 2021 at 03:31 PM Administrators Share Posted October 1, 2021 at 03:31 PM Isso acontece por conta da ordem das coisas. No comando "dir > dir.txt", três coisas acontecem, nessa ordem: Um arquivo dir.txt é criado vazio (por conta do redirecionador "> dir.txt"). O comando dir roda e lê todo o conteúdo do diretório, que tem o dir.txt vazio neste momento. 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 More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.