Is there a built-in command in Windows to fill a file with zero / NULL bytes?
Sim. Você pode usar fsutil
para isso:
> fsutil file setzerodata /?
Usage : fsutil file setzerodata offset=<val> length=<val> <filename>
offset : File offset, the start of the range to set to zeroes
length : Byte length of the zeroed range
Eg : fsutil file setzerodata offset=100 length=150 C:\Temp\sample.txt
Para preencher um arquivo completo, será necessário usar um deslocamento de 0
e você precisará saber o tamanho do arquivo.
Podemos usar arquivos em lote que calculam o tamanho automaticamente?
Claro.
Use o seguinte arquivo de lote (zero.cmd):
@echo off
setlocal enabledelayedexpansion
for %%a in (%1) do (
fsutil file setzerodata offset=0 length=%%~za %%a
)
endlocal
Uso:
- Você pode passar um único nome de arquivo como argumento:
zero test.txt
ou um curinga:zero *.txt
Exemplo:
> type test.txt
abc
foo$
foo
bar
> zero test.txt
Zero data is changed
> type test.txt
>
LeituraAdicional
Um índice A-Z da linha de comando do Windows CMD - Uma lista categorizada de comandos do Windows CMD
- fsutil - Comandos específicos de arquivos e volumes, gerenciamento de Hardlink, gerenciamento de cotas, USN, arquivo esparso, identificação de objeto e gerenciamento de ponto de nova análise
- parâmetros - Um argumento de linha de comando (ou parâmetro) é qualquer valor passado para um script em lote.