Создаём файл любого размера без сторонних программ, используя возможности Windows.
Создание файла при помощи командной строки
В этом нам поможет утилита командной строки — fsutil. Откройте консоль с правами администратора и создайте, к примеру, файл demo.txt размером 2ГБ на диске C: при помощи следующей команды:
1 |
fsutil file createnew C:\demo.txt 2000000000 |
Создание файла при помощи PowerShell
1 2 3 |
$file = New-Object -TypeName System.IO.FileStream -ArgumentList C:\demo.txt,Create,ReadWrite $file.SetLength(2000Mb) $file.Close() |
Здесь мы в первой строке создали объект с типом — файл. Во второй строке присвоили ему размер. В третьей — «закрыли» объект.
Далее смотрите другие варианты использования PowerShell для создания файлов:
- Создаём содержимое нужного размера, далее помещаем это содержимое в файл.
При использовании этого варианта, файл большого размера создать не выйдет!
1 2 |
$content = New-Object -TypeName Byte[] -ArgumentList 20Mb Set-Content -Path C:\demo.txt -Value $content -Encoding Byte |
Все варианты создания файлов, которые мы рассмотрели, создают файлы с содержимым заполненным значениями NULL. В следующих вариантах рассмотрим создание файлов с произвольным содержимым.
- Вариант создания файла с произвольным содержимым
1 2 3 4 |
$array = New-Object -TypeName Byte[] -ArgumentList 20Mb $obj = New-Object -TypeName System.Random $obj.NextBytes($array) Set-Content -Path C:\demo.txt -Value $array -Encoding Byte |
- Скрипт автоматического создания большого количества файлов с произвольным содержимым
1 2 3 4 5 6 |
$array = New-Object -TypeName Byte[] -ArgumentList 20Mb $obj = New-Object -TypeName System.Random $obj.NextBytes($array) for ($i=1; $i -le 1000; $i++) { Set-Content -Path C:\demo.txt$i -Value $array -Encoding Byte } |