Існує інструмент під назвою Trunc, який вимагає робити саме те, що вам потрібно:
Trunc - додаток командного рядка Windows для врізання файлів у визначений розмір. Також можна використовувати для збільшення файлу.
Вам доведеться спробувати це, щоб дізнатися, як саме файл витікає (наприклад, з нулями або сміттям), але в іншому випадку це, здається, відповідає рахунку того, про що ви просите.
fsutil - це системний інструмент для Windows XP і вище, який, здається, має певні функціональні можливості. Зокрема, fsutil fileпідкоманда, здається, зможе створювати, задавати довжину, а також нульові файли заповнення.
Конкретно:
fsutil file createnew "C:\temp\myfile" 1024
Створиться файл із 1024 байтами, заповненим нулем, але я не бачу способу урізати файл. Існує команда, яка встановлює дійсну довжину даних, але вона, схоже, не змінює маркер EOF як:
Використання setvaliddata
У NTFS є два важливих поняття довжини файлу: маркер кінця файлу (EOF) та дійсна довжина даних (VDL). EOF вказує фактичну довжину файлу. VDL визначає довжину дійсних даних на диску. Будь-які зчитування між VDL та EOF автоматично повертають 0, щоб зберегти вимогу повторного використання об'єкта C2.
UVHD - це шістнадцятковий редактор, який, здається, має функції, про які ви вимагаєте. Єдина проблема полягає в тому, що вона працює лише під Windows / SFU (Services for Unix), а не DOS. Що це насправді означає для кінцевого користувача, я насправді не знаю, але у мене є невиразні підозри, що SFU було скинуто у Vista та Win 7.