Найти в Дзене
QA & IT.

Как создать объекты требуемого размера и длины

Разберу некоторые задачи, с которыми переодически сталкиваюсь при тестировании ПО. Как создать файл требуемого размера? Windows обладает встроенной утилитой fsutil, одной из возможностей которой является создание файла заданного размера. Для этого:
1. Идем в командную строку:
1.1 жмем сочетание клавиш <Win>+<R>
1.2. Пишем открыть: cmd
2. В открывшийся интерпретатор командой строки вводим команду для создания файла : fsutil file createNew C:\file.txt 1024 Разберем данную команду:
fsutil file createNew - вызов утилиты и запрос на создание файла
C:\file.txt - имя файла и путь по которому он будет создан
1024 - размер файла в байтах Если путь не указывать, то файл будет создан в директории, откуда будет вызвана утилита. Как создать определенное количество файлов? Например, нам нужно создать 10 000 файлов. Для решения этой задачи, создадим batch файл. В нем мы воспользуемся циклом FOR: FOR /L %%G IN (1,1,10000) DO echo 111 > %%G.txt Чуть подробнее про каждый параметр: /L - выполнить о

Разберу некоторые задачи, с которыми переодически сталкиваюсь при тестировании ПО.

Нужна была картинка, для иллюстрации заметки
Нужна была картинка, для иллюстрации заметки

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

Windows обладает встроенной утилитой fsutil, одной из возможностей которой является создание файла заданного размера. Для этого:
1. Идем в командную строку:
1.1 жмем сочетание клавиш <Win>+<R>
1.2. Пишем открыть: cmd
2. В открывшийся интерпретатор командой строки вводим команду для создания файла :
fsutil file createNew C:\file.txt 1024

Разберем данную команду:
fsutil file createNew - вызов утилиты и запрос на создание файла
C:\file.txt - имя файла и путь по которому он будет создан
1024 - размер файла в байтах

Если путь не указывать, то файл будет создан в директории, откуда будет вызвана утилита.

Как создать определенное количество файлов?

Например, нам нужно создать 10 000 файлов. Для решения этой задачи, создадим batch файл. В нем мы воспользуемся циклом FOR:

FOR /L %%G IN (1,1,10000) DO echo 111 > %%G.txt

Чуть подробнее про каждый параметр:

/L - выполнить обработку и создать последовательность чисел для заданного числового диапозона (1, 1, 10000) где:
1 - начальное число
1 - шаг, на который будет увеличено число в следующей итерации
10000 - конечное число

%%G - переменная в данном цикле for, которой в каждой итерации будет присвоено сгенерированное число

echo 111 > %%G.txt - будет создавать .txt файлы с именем, соответствующим числу из переменной %%G, перенаправляя в них вывод команды echo (111)

В результате выполнения данного батника, получим 10 000 файлов в одной директории с именами 1.txt, 2.txt. 3.txt ...

По аналогии поступаем в случае, если требуется создать 10 000 папок:

FOR /L %%G IN (1,1,10000) DO mkdir dir%%G

Если же задача по созданию определенного количества объектов разовая, то выполнить её можно из командной строки:

FOR /L %G IN (1,1,5) DO mkdir dir%G

Обратите внимание, на переменную %G. Вместо %%, указываем %.

Как создать строку нужной длины?

Допустим нам требуется строка длиной 257 символов. Воспользуемся сторонней утилитой perclip (она бесплатна):

1. Идем по ссылке и скачиваем архив: http://www.satisfice.com/tools.shtml

2. Распаковываем и запускаем perlclip.exe

3. Пишем команду: "a" x (2 ** 8 + 1)

Получаем в буфер обмена строчку состоящую из 257 символов "a".
Синтаксис данной команды:

"a" - символ, который будет выполнен некоторое количество раз
(2 ** 8 + 1) - формула, определяющее какое количество раз сгенерировать указанный символ

Советую изучить help для данной утилиты, поскольку она очень гибкая в своих возможностях.