Eu não acredito que a funcionalidade exista nativamente no shell do DOS, eu suspeito que você precise usar outro programa para fazer o trabalho. Aqui estão algumas possibilidades:
-
Existe uma ferramenta chamada Trunc que afirma fazer exatamente o que você procura :
Trunc is a Windows command-line app to truncate files to a specified size. Also usable to enlarge a file.
Você terá que experimentá-lo para descobrir exatamente como o arquivo está sendo preenchido (por exemplo, com zeros ou lixo), mas caso contrário, isso parece se encaixar no que você está pedindo.
-
fsutil é um Windows XP e ferramenta de sistema acima que parece ter alguma funcionalidade que pode ajudar. Especificamente, o subcomando
fsutil file
parece ser capaz de criar, definir comprimento e também arquivos de preenchimento zero.Especificamente:
fsutil file createnew "C:\temp\myfile" 1024
Será criado um arquivo de 1024 bytes preenchido com zero, mas não consigo ver uma maneira de truncar o arquivo. Existe um comando que define um comprimento de dados válido, mas não parece modificar o marcador de EOF como:
Using setvaliddata
In NTFS, there are two important concepts of file length: the End of File (EOF) marker and the Valid Data Length (VDL). The EOF indicates the actual length of the file. The VDL identifies the length of valid data on disk. Any reads between VDL and EOF automatically return 0 in order to preserve the C2 object reuse requirement.
-
UVHD é um editor hexadecimal que parece ter as funções que você está solicitando. O único problema é que ele só funciona no Windows / SFU (Serviços para Unix) e não no DOS. O que isso realmente significa para um usuário final eu realmente não sei, mas tenho uma vaga suspeita de que o SFU foi descartado no Vista e Win 7.