Как создать файл определенного размера windows

В повседневной работе по той или иной причине системному администратору периодически приходится создавать файлы определенного размера. Обычно необходимость в создании файла определенного размера возникает при тестировании различных подсистем, например вы хотите протестировать работу дисковых квот или фильтров электронной почты. Самый простой способ создать файл определенного размера – воспользоваться Windows-утилитой fsutil.exe. Эта утилита командной строки, которую можно использовать для управления дисковыми квотами, различными манипуляциями с объектами файловой системы, а также для выполнения различных манипуляций с файлами.

Например, вы тестируете работу модуля статистики вашего почтового сервера, и вам нужно создать файл размером 10 Мб и отправить его по почте. Наберите в командной строке с повышенными привилегиями следующую команду:

fsutil file createnew C:\10mb-file.txt 10000000

Эта команда создаст в корне диска C:\ новый файл с именем ’10mb-file.txt’, размером 10000000 байт (10 Мб).

Иногда бывают ситуации, в которых требуется быстро создать один или несколько файлов произвольного размера. Операционная система Windows предлагает для этого несколько различных вариантов.

Создание файла с помощью fsutil

Быстрее и проще всего создать файл с помощью утилиты командной строки fsutil. Для примера откроем консоль (обязательно с правами администратора) и создадим на диске E файл file.txt размером 1ГБ командой:

fsutil file createnew E:\File.txt 1000000000

Таким образом можно создать файл любого размера, причем файл создается практически мгновенно.

создание файла с помощью fsutil

Создание файла с помощью PowerShell

То же самое можно сделать с помощью PowerShell, хотя команды будут немного сложнее:

$file = New-Object -TypeName System.IO.FileStream -ArgumentList E:\File.txt,Create,ReadWrite
$file.SetLength(1000Mb)
$file.Close()

Здесь мы сначала создаем объект типа файл, а затем с помощью метода SetLength присваиваем ему необходимый размер. Таким способом также можно мгновенно создать файл любого размера.

создание файла с помощью PowerShell, способ 1

Есть и еще один, альтернативный способ создания файла с помощью PowerShell. Если в первом случае мы создавали файл и задавали его размер, то здесь создаем содержимое нужного размера и помещаем это содержимое в указанный файл. Например:

$content = New-Object -TypeName Byte[] -ArgumentList 10Mb
Set-Content -Path E:\File.txt -Value $content -Encoding Byte

создание файла с помощью PowerShell, способ 2

При использовании этого метода создание файла занимает некоторое время, зависящее от размера файла. Кроме того, с его помощью невозможно создать файл большого размера. Максимальный размер файла ограничен встроенным значением [int]::MaxValue и при его превышении будет выдана ошибка ″Array dimentions exceeded supported range″.

ошибка при создании файла

Все описанные  способы создают пустые файлы (точнее файлы, заполненные символом NUL). Если надо создать файл заданного размера и заполнить его каким либо произвольным содержимым, то можно немного изменить предыдущий способ и воспользоваться такими командами:

$array = New-Object -TypeName Byte[] -ArgumentList 10Mb
$obj = New-Object -TypeName System.Random
$obj.NextBytes($array)
Set-Content -Path E:\File.txt -Value $array -Encoding Byte

создание файла и заполнение его данными

Ну и для генерации большого количества файлов (напр. 1000) можно воспользоваться таким скриптом:

$array = New-Object -TypeName Byte[] -ArgumentList 10Mb
$obj = New-Object -TypeName System.Random
$obj.NextBytes($array)
for ($i=1; $i -le 1000; $i++) {
Set-Content -Path E:\File.txt$i -Value $array -Encoding Byte
}

Работает небыстро, но для ускорения можно запустить скрипт в несколько потоков.

PowerShell:

$f = new-object System.IO.FileStream c:\temp\test.dat, Create, ReadWrite
$f.SetLength(42MB)
$f.Close()

This will create a file c:\temp\test.dat that consists of 42MB of nullbytes. You can of course just give byte count instead as well. (42MB = 42 * 1048576 for PowerShell).

Note:
Keep in mind that unless you specify the full path (in my example, C:\temp\test.dat), using relative
paths (i.e .\test.dat) will only create files on the directory where PS was started in, i.e. ["C:\users\currentUser"] if you start PS from the Run... command, or ["C:\Windows\system32"] if you start it with Shift+RightClick (OR) Alt->F>S>R on the windows explorer.
To workaround this, you must change the underlying directory (you can check it with this as a command on PS:
[IO.directory]::GetCurrentDirectory()) to the current path you’re on in the PS console, simply including the line:

[IO.directory]::SetCurrentDirectory($(get-location).Path)

So, to wrap it up, you make it work with the relative path you’re currently in:

[IO.directory]::setCurrentDirectory($(get-location).Path) #Changes directory to current PS directory
[Int64]$size = 150MB #This allows you to set the size beforehand
$f = new-object System.IO.FileStream .\test.dat, Create, ReadWrite
$f.SetLength($size)
$f.Close()

При тестировании разного рода подсистем нередко приходится создавать файлы определённого объёма. Например, это может понадобиться при проверке работы почтовых или каких-либо других фильтров, в которых применяется ограничение на объём передаваемых данных, а также при тестировании дисковых квот. Конечно, для этих целей можно использовать массив, скажем, из текстовых файлов, но это неудобно, да и точности добиться в таком случае будет очень сложно.

Так вот, в Windows есть специальная консольная утилита, которая позволяет создавать файлы определённого размера. Называется она fsutil.exe. Допустим, вам нужно создать файл размером 10 Мб. Откройте командную строку от имени администратора и выполните в ней вот такую команду:

fsutil file createnew D:\test10mb.txt 10485760

Создать файл строго заданного размера
В результате выполнения команды в корне диска D будет создан файл test10mb.txt размером 10485760 байт или 10 Мб. Это будет не совсем обычный текстовый файл и если вы его откроете в Notepad++ или шестнадцатеричном редакторе, то увидите, что он полностью заполнен нулевыми значениями. Кстати, вместо расширения TXT можно использовать BIN — результат будет тот же.

Загрузка…

Как создать файл любого размера в любом формате?

Привет читателям блога Компьютер76, сегодня мы попробуем один трюк, с помощью которого можно потроллить соседей по офису, подшутить над друзьями и просто позабавиться на реакцию пользователя, который вдруг обнаружит, что…

В Windows вдруг появился файл, который занимает громадное пространство и даёт системе нормально функционировать. С помощью этого трюка можно в один момент заполнить всё свободное пространство, например, флешки.

Как это работает?

Если вы не впервые на страницах моего сайта, вы поняли, что в Windows много скрытых инструментов, о которых сама Windows ни одному пользователю предпочитает не рассказывать. Одна из таких бесчисленных встроенных утилит Fsutil.exe. Её основное предназначение — системные операции с файлами из командной строки. Она-то и поможет нам создать файл любого размера с любым понравившимся нам расширением. Да, нас снова понадобится консоль команд (работаем с правами админа). В Windows XP её не ищите — утилита входит в комплект Windows со времён Vista.

ОТСТУПЛЕНИЕ

Такие приколы могут создаваться и программами сторонних разрабов. Мне известны утилиты типа Dummy File Creator или Disk tools toolkit. Также, это умеет делать троян, поглощающий всё свободное пространство диска, маскируясь под антивирус.

Как создать файл любого размера: что умеет сама Windows?

Синтаксис нашей команды в утилите fsutil на создание файла выглядит так:

fsutil file createnew имя_файла размер(в_байтах)

Отсюда следует, если мы хотим создать текстовый файл в корне системного диска размером 1 Кб (в байтах) и именем TEST, нам придётся в консоли написать командой:

fsutil file createnew c:\TEXT.txt 1024

создать файл любого размера

Как вы догадались, можно создать файл любого размера и в любом формате в ЛЮБОМ месте, где бы вы не пожелали. Если файл нужен конкретных размеров, а его размер имеет для вас значение, лучше, конечно, воспользоваться конвертером единиц для перевода байт в кило-, мега— и гигабайты.

Итак, наш файл, конечно, пустой и не несёт никакого в себе содержания. Присвойте ему любое расширение — он же всё равно пуст. Текстовый файл, к примеру, можно заполнить произвольным текстом, в том числе из той же fsutil. Зачем? Дело в том, что, например, текстовый файл огромных размеров, заполненный информацией, при открытии немедленно вызовет как минимум зависание программы, с помощью которой жертва попытается этот документ открыть: Блокнот или ещё что… Но согласитесь, заполнять текстовый документ осмысленным содержанием через командную строку — всё равно что чесать пятку через штанину.

Ну и дополнить издевательство над пользователем можно присвоив документу (или фильму, фотографии, музыкальному треку) атрибут Скрытый. И если у жертвы в Свойствах папки не стоит Отображать скрытые файлы и папки, он потратит много времени на поиски того, куда подевалось пространство на диске. Так, созданный файл можно спрятать прямо сейчас, не закрывая консоли. Допишите вторую команду в виде:

attrib +h c:\TEXT.txt

Смотрите:

присвоен атрибут скрытый

Успехов нам всем

  • Как создать флешку для установки windows 10 ultraiso
  • Как создать файл на ноутбуке windows
  • Как создать флешку для установки mac os в windows
  • Как создать файл из командной строки windows
  • Как создать флешку для сброса пароля в windows 7 если забыл пароль