Страница 1 из 1

Изменение размера файла

Добавлено: Пн май 23, 2005 21:25
Jee-jay
:?: :?: :?:
Подскажите, пожалуйста, как файлу присвоить произвольный размер. Т.е. мне необходимо создать пустой файл и указать ему размер, к примеру, в 5 Мб. Помню, видел как-то это делалось через плагины WinCMD. Спасибо

Добавлено: Пн май 23, 2005 22:29
Evgenych
В WinXP можно так:

Код: Выделить всё

fsutil file createnew c:\test 1000000

Всё про тот же "нулевой" файл

Добавлено: Вт май 24, 2005 21:34
Jee-jay
Спасибо! :) Совет полезный! Где-нибудь использую.
Я немного не точно сформулировал свой вопрос. Можно ли создать файл, определяемый системой как 10Мб-ный, но реально занимаемый на диске пару килобайт. В свойствах файла можно увидеть два размера файла - размер и размер на диске. Вот это мне и необходимо. :?

Добавлено: Вт май 24, 2005 22:00
CaptainFlint
Jee-jay
На NTFS можно создать сжатый или разреженный файл. Сжатый можно сделать в самой системе в диалоге свойств, а разреженный - только какими-то спец-утилитами. На FAT ни тех, ни других не бывает.

Re: Всё про тот же "нулевой" файл

Добавлено: Вт май 24, 2005 22:13
mramor
Jee-jay писал(а):В свойствах файла можно увидеть два размера файла - размер и размер на диске. Вот это мне и необходимо. :?
"размер файла" отличается от "размера файла на диске" тем, что "размер файла" считается в количестве байт, а "размер файла на диске" в количестве занятых секторов * размер сектора.

Добавлено: Вт май 24, 2005 22:17
CaptainFlint
mramor
"размер файла" отличается от "размера файла на диске" тем, что "размер файла" считается в количестве байт, а "размер файла на диске" в количестве занятых секторов * размер сектора.
Это верно для обычных файлов - и при этом размер на диске всегда будет не меньше размера файла. А Jee-jay требуется, чтобы размер на диске был меньше размера файла. Без какого-либо сжатия на уровне файловой системы тут не обойтись...

Добавлено: Ср май 25, 2005 08:29
Evgenych
...и сжатие должно быть не слабое
определяемый системой как 10Мб-ный, но реально занимаемый на диске пару килобайт
:)

Добавлено: Ср май 25, 2005 10:41
CaptainFlint
Evgenych
Ну я и говорю - файл, заполненный почти только нулями. :) Понятно, что 100 MB реальных данных запихнуть в 10 KB вряд ли получится, но тут пока и не не было написано, что это требуется. :)

Добавлено: Чт май 26, 2005 11:16
D1P
На самом деле можно сделать на FAT - залазишь редактором диска в файловую систему, находишь там описание этого файла, правишь цифирки... На винте такое я делать не решился бы, а на флоппике - делал неоднократно и пугал глупых преподавателей информатики тем, что запихнул полуторагигабайтный файл на дискетку...

Добавлено: Пт май 27, 2005 12:26
Jee-jay
Во-во-во! :D D1P меня понял. Этого я как раз и добивался - не заполнять файл нулями, не применять никакого сжатия на уровне файловой системы, а просто создать "образ", если так можно выразиться, "пустого" файла, задав ему произвольный размер.
Вот только, D1P, я помню это делалось не через редактор диска, а с помощью plugin'ов TotalCMD, почему я и зашёл на этот сайт.
Всё равно всем спасибо за советы.

Добавлено: Вт май 31, 2005 05:38
Leshiy
Jee-jay
не применять никакого сжатия на уровне файловой системы, а просто создать "образ", если так можно выразиться, "пустого" файла, задав ему произвольный размер
на FAT'е такое не прокатит. точнее сделать то легко, но работать с этим файлом не сможешь нормально и при следующей проверке диска эта "ошибка" исправится.
Поэтому для таких целей лучше использовать NTFS и там создать sparse или compressed файл.

оффтоп:
D1P
на флоппике - делал неоднократно и пугал глупых преподавателей информатики тем, что запихнул полуторагигабайтный файл на дискетку...
а нам препод на первом курсе наоборот порол дискеты, чтобы мы вручную их восстанавливали :)
из воспоминаний того времени: если у дискеты прописать к-во сторон 0, то *Dos, Win 3х, Win9x вешаются при вставке такой дискеты в дисковод :) NT даже не замечает такой гадости и спокойно молча работает :)

Добавлено: Вт май 31, 2005 23:54
Jee-jay
Спасибо за совет, Leshiy!
А как вы так дискеты восстанавливали? Начал копатся в языке assembler'а - хоть смутно начал понимать организацию дисковой памяти. Но, помимо форматирования, которым информацию не сохранишь, есть же ещё способы реанимации?

Добавлено: Ср июн 01, 2005 00:25
Leshiy
Jee-jay
А как вы так дискеты восстанавливали?
восстанавливали инфу на дискетах.
ну препод создавал на дискете текстовик какой-нибудь, а затем чистил FAT.
мы искали сектора, в которых этот текстовик записан (препод не просто втупую создавал текстовик, а грамотно раскидав по нескольким секторам по всей дискете), а затем прописывали всю нужную инфу вручную в FAT. Пользовались Diskedit'ом.