|
57 / 9 / 4
Регистрация: 14.06.2013
Сообщений: 129
|
||||||||||||||||
Создание файлов фиксированного размера (болванки файлов, dummy files)09.10.2018, 18:10. Показов 3336. Ответов 14
Возникла необходимость создать несколько файлов фиксированного размера, в англоязычных источниках называемых dummy files. Для чего? Для тестирования дисковой системы, т.к. программы для теста обычно пишут-читают из файла создаваемого на разделе.
Возможно использование утилит в command prompt
Что интересно, как пишут в описании утилиты FSUTIL, параметр setvaliddata устанавливает (???) некую "допустимую длину файла". На самом же деле setvaliddata делает содержимое файла отличное от NULL (см. скриншоты). Именно когда содержимое отлично от NULL возможно тестирование дисков, иначе показатели производительности сильно завышены, в общем не соответствуют действительности. Возникает вопрос, как задать аналогично содержимое файла в PowerShell. Пока нашел только такую длинную функцию (источник), хотелось бы реализовать это короче, как в command prompt
0
|
||||||||||||||||
| 09.10.2018, 18:10 | |
|
Ответы с готовыми решениями:
14
Проверка существования файлов, создание файлов и вывод содержимого файлов на принтер ProgressBar для отображения процесса удаления файлов (с учетом размера файлов) Работа с файловой системой. Поиск файлов, определение размеров файлов и подсчёт среднего арифметического размера. |
|
57 / 9 / 4
Регистрация: 14.06.2013
Сообщений: 129
|
|
| 09.10.2018, 18:22 [ТС] | |
|
Т.е. по сути вопрос в том, как просто создать болванку файла случайного содержания в PowerShell. Command prompt насколько понимаю, использует какие-то особенности файловой системы, не прибегая к генератору случайных чисел.
0
|
|
|
4040 / 2652 / 582
Регистрация: 11.09.2009
Сообщений: 9,465
|
||
| 09.10.2018, 18:24 | ||
|
0
|
||
|
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
|
||
| 09.10.2018, 18:25 | ||
|
1
|
||
|
4040 / 2652 / 582
Регистрация: 11.09.2009
Сообщений: 9,465
|
|
| 09.10.2018, 18:28 | |
|
delete
0
|
|
|
57 / 9 / 4
Регистрация: 14.06.2013
Сообщений: 129
|
||||||
| 10.10.2018, 15:50 [ТС] | ||||||
|
Похоже на то, что нужно... Но
1. таким методом в powershell возможно генерировать массивы byte[] меньше 2GB. 2. массив полностью выгружается в память, в отличае от FSUTIL.EXE file setvaliddata (можно убедиться в диспетчере задач).
0
|
||||||
|
57 / 9 / 4
Регистрация: 14.06.2013
Сообщений: 129
|
|
| 10.10.2018, 16:08 [ТС] | |
|
Это понятно, можно просто скачать фильм с торрента размером 4Gb - вот и готовый файл... )
Просто эти методы хардкорны... и понимания как это работает не дают. Не понятно, каким образом FSUTIL.EXE file setvaliddata моментально изменяет данные в файле размером 4Gb... если это проводить через оперативную память, то процесс займет хотя бы 10 сек... но нет... FSUTIL отрабатывает моментально...
0
|
|
|
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
|
|||
| 10.10.2018, 17:07 | |||
Не по теме: А вот как это реализовано, наверно не лучшая идея, спрашивать в разделе по скриптовому языку, который работает на основе высокоуровневого фреймворка :)
1
|
|||
|
6688 / 2279 / 348
Регистрация: 10.12.2013
Сообщений: 7,888
|
|
| 10.10.2018, 17:17 | |
|
1
|
|
|
|
|||
| 10.10.2018, 20:19 | |||
|
И она сильно отличается от обычных WinAPI функций, которые при выделении кластеров под файл заполняют их значением NULL из соображений конфиденцильности. Функция SetFileValidData позволяет не заполнять данные нулями при записи непоследовательно в файл. (перевод сделан Mr. Online Translator :-)) Typically, the SetFileValidData function is used by system-level applications on their own private data. Not all file systems use valid data length. Some file systems can track multiple valid data ranges. In general, most applications will never need to call this function. The SetFileValidData function allows you to avoid filling data with zeros when writing nonsequentially to a file. The function makes the data in the file valid without writing to the file. As a result, although some performance gain may be realized, existing data on disk from previously existing files can inadvertently become available to unintended readers. Все данные там - это мусор от как бы удаленных пользователем файлов. Вы же вы курсе, что реально с диска данные не удаляются (ну если, конечно, вы каким-нить шредером не пройдетесь), а просто их место в $MFT\$bitmap помечается как "незанятое"? На а sparse файлы с NULL - это вообще фикция, обманка ОС.
1
|
|||
|
57 / 9 / 4
Регистрация: 14.06.2013
Сообщений: 129
|
||||||
| 18.10.2018, 17:50 [ТС] | ||||||
|
Попробовал разобраться с SetFileValidData(). Результат: файл заполненный NULL остался заполненным NULL, никаких "мусорных" данных как ожидалось, не появилось!
0
|
||||||
|
4040 / 2652 / 582
Регистрация: 11.09.2009
Сообщений: 9,465
|
||
| 18.10.2018, 23:15 | ||
|
0
|
||
|
|
||
| 19.10.2018, 02:01 | ||
|
Просто процитирую (источник обсуждения можно нагуглить), чтобы не размазывать манную кашу по столу:
В стандартных случаях создания и чтения у файлов нет хвостов, так как граница логическая совпадает с физической.
2
|
||
|
96 / 17 / 5
Регистрация: 05.07.2015
Сообщений: 53
|
||||||
| 25.10.2018, 12:57 | ||||||
|
Стало интересно создание такого файла функцией powershell, к сожалению в ветке не нашел готовый код. Получилось сделать используя только SetFileValidData, может что не правильно, но работает.
1
|
||||||
| 25.10.2018, 12:57 | |
|
Помогаю со студенческими работами здесь
15
Создание списка файлов конечного размера в котором старые файлы удаляются
Поиск на диске файлов с расширениями .txt и .docx и создание списка имён найденных файлов
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|