Windows 7以降にファイルにゼロ/ NULLバイトを入力するの組み込みコマンドはありますか?
処理はインプレース(つまり、ファイルの実際のディスクセクター/バイトを変更する必要があります)で行われ、新しいファイルは作成されません。
何かのようなもの:
zero c:\temp\*.*
または
zero hello.bin
それはこれを行うでしょう:
Before: hello.bin (500 MB)
5D 1A CB FF FF C0 ... AA CD 0F FF
After: hello.bin (500 MB)
00 00 00 00 00 00 ... 00 00 00 00
これに組み込まれているものがない場合、他にどのようなソリューションが存在しますか?それとも私はCでそれをしなければなりませんか?
ファイルをゼロ/ NULLバイトで埋めるための組み込みコマンドはWindowsにありますか?
はい。これにはfsutil
を使用できます。
> 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
ファイル全体をゼロで埋めるには、0
のオフセットを使用する必要があり、ファイルの長さを知る必要があります。
もちろん。
次のバッチファイル(zero.cmd)を使用します。
@echo off
setlocal enabledelayedexpansion
for %%a in (%1) do (
fsutil file setzerodata offset=0 length=%%~za %%a
)
endlocal
使用法:
zero test.txt
またはワイルドカード:zero *.txt
例:
> type test.txt
abc
foo$
foo
bar
> zero test.txt
Zero data is changed
> type test.txt
>