View previous topic :: View next topic |
Author |
Message |
Mellomann
Joined: 07 Sep 2009 Posts: 708
|
(Separately) Posted: Fri Feb 17, 2012 19:49 Post subject: [PluginRequest] Создание образов hdd или файлов-пустышек |
|
|
Суть работы - аналогична TotalISO, который позволяет упаковать папку в ISO образ с нужными настройками и свойствами.
Тоже, что-то похожее было в IMaGinator, но там размер ограничен 32 Мбайт.
Краткий алгоритм действий:
1. выбираем файлы или папку с файлами (как получится, не суть важно)
2. жмём "упаковать", выбираем расширение (на усмотрение автора, желательно что-то типа VHD или IMG)
3. далее появляется диалог, в котором указываем ФС и размер желаемого образа (по обьёму файлов или же больше до указываемого числа)
4. всё
Небольшие примечания
* по первому пункту в случае упаковывания пустой папки (с определённым именем, указываемым в конфиге) нужна возможность создать vhd-образ произвольного размера с поправкой на возможности ФС.
* если "прямое" создание образов из файлов невозможно, то можно это реализовать в два (три) прохода: создать файл с нулями (прогнать быстрое форматир-е в нужную ФС), и потом в него заганять файлы.
В принципе схожие действия делает разного рода софт (VirtualPC даёт создавать, ImDisk VDD - изменять и монтировать, и.т.д.), однако реализация такого функционала в одном плагине крайне необходима. (по возможности и в х64)
Last edited by Mellomann on Sat Feb 18, 2012 18:50; edited 1 time in total |
|
Back to top |
|
|
jentoso
Joined: 20 Dec 2007 Posts: 351
|
(Separately) Posted: Fri Feb 17, 2012 19:59 Post subject: |
|
|
Mellomann, как думаешь, какой размер будет у такого плагина? Может просто использовать программу Disk2VHD |
|
Back to top |
|
|
Mellomann
Joined: 07 Sep 2009 Posts: 708
|
(Separately) Posted: Fri Feb 17, 2012 20:27 Post subject: |
|
|
jentoso
Не так уже и много, ибо создавалка файла с нулями - вещь простая, а (для сравнения) эмулька, монтирующая образы (и, соответственно, делающая с ними всё и вся) весит вообще полмегабайта...
А если это слишком трудоёмко... Тогда можно просто "создание файла пустышки указаного размера", ибо смонтировать и накидать файлов технически я смогу и снаружи (не Тоталом). |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Mon Feb 20, 2012 15:54 Post subject: |
|
|
Улыбнула разница в сложности поставленных задач: или плагин, который умеет это-это-это-это-это, или просто создание файла-пустышки) вот тулза, которая создает файл-пустышку. В командной строке указывать путь к создаваемому файлу и через пробел размер в байтах (или можно букву множителя впритык к числу написать, например, 1g или 1500m):
Code: | MkFileSize.exe MyFile.bin 10g |
Code: | MIME-Version: 1.0
Content-Type: application/octet-stream; name="MkFileSize.7z"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="MkFileSize.7z"
N3q8ryccAAP8ja3ReQMAAAAAAACKAAAAAAAAAL+D+WIAJpaOcAAX9+wFu+r0/5QBL0TvfOb1skt4
BMvR6HvW2Z7CPl77UePEVJRIrv0lIlfV7jrTmoQioL68N+nm796CU+jvz+whNNABTrYB5/PK7gxZ
wj893KHzFvRRrZVpu1i38ZrLGOj63rMLtDu7WQQobCwv7znFTqH3ETkA/zrsLMoLktW6ejyF1e2B
ZB392PlvGjge+MMdrCYQ5BYKcQwWyhFgQBJnabkRyqn/HabTpjkKAy7etYhBBATzp5K35s2sKfJA
C+KPWN/HyvpC2GBJwLxab2/pI3uc83miXVK36XuqP9SswJEjRHLFqBfEMXJtgSkznci92VD8eFEy
wXNNjoEJNomAAyIidGsQL7m0I5iHhMgSs+8Hx6piKhcWW+1muCgz/JphQw3XMur0IeEmEKicej+S
iAuFwrZ4uIkhgmPaUVU3kURzFmIdeCzwFZdltnyrn1/zH30210Jbt+7ad4EIaoSWM4C2XV00iGfg
kDPEadjJsaipgYwZ021gS/guwxdwVbuDt13DBHzrr2FxCfDPW7cu+aELOqKpADdLM3pVXLI4HRD7
X0D6YMBDN4X9Q+AvwEZb+ri1FIJluca4x7mPvgo37XTboLCaPxDz648JbG3gxMuh18venjDRxcb8
ihP1KAk51lMOtqK/1LZ42n8zpKKGBeZ9E5xENRsGkDiAAHSlSJSr4ckBxYae75QMBwIW2ZFAN9yj
SKTo+kjS66XV+NSUutw9EQQ398IzfvdHOaUKOMZ/jlncJgFD8FnP3fe+UcYWfM4epUTql5+PKtMc
DKDkU8vRvyaHTinJkg45RDgS5KKYavNkFsaHpBFuIzb5AhfHtSDVhqfSO6deMeMsxmf/IxtXyw/c
EXAXTEAoQA4UtrjXBanHF3wSYX8nilJ8vqCSZDvcAwfcm4nWrKnHptKpoTw7zZiTEs847WBTkCbB
hG6Ak0mpHzj3tAS6VVZIu8Xm9dBMlt3hveSqXHJrtjS/FBZxPmyzr4hGeoGCbDkHf+DOX+qu7cKQ
4F78f7ezsL0Z1KY7N9eEKVQ13laUQ+jInVoeLtjp36J1HKnx3NhJN1Z3iauznUM2lUvoOPGW3B9G
LojaWNf8gPnslTPopcrQhTRdF2gKEAeeUvGsV2SlwTbObwt2xQAA/f/8AAAAYAQj4c1PzAcmkNZA
AAAAYA//2fwAAQQGAAQJg10FDwgABwsBAAQjAwEBBV0AAAEAIwMBAQVdAAABACMDAQEFXQAAAQAU
AwMBGwQBBQAEAQMCAgYBAAwEGIXkhgAACAoBo7UIAQAABQERHwBNAGsARgBpAGwAZQBTAGkAegBl
AC4AZQB4AGUAAAAUCgEAiiTZBsnvzAEVBgEAIAgAAAAA
|
По умолчанию перезапись существующего файла не выполняется. Если указать перед именем файла ключ /q, файл будет молча перезаписываться.
Гуёвый диалог можно приделать с помощью моей AskParam. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
Mellomann
Joined: 07 Sep 2009 Posts: 708
|
(Separately) Posted: Mon Feb 20, 2012 16:47 Post subject: |
|
|
MVV wrote: | разница в сложности поставленных задач |
Разница в том, что база - создание файла указаного размера - одна, а доп.возможности (разметить ФС и всунуть файлы) - дополнительные, которые, в принципе, реализуемы при помощи проги ImDisk. Просто, если можно - было бы хорошо иметь полный функционал, ибо так и удобнее и быстрее.
Добавлено спустя 3 минуты:
А за прогу отдельная благодарность!
Уже опробовал, то, что надо! |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Feb 21, 2012 11:15 Post subject: |
|
|
Mellomann wrote: | А за прогу отдельная благодарность! | fsutil чем не вариант? Тут вместо 0 нужные байты указываются. Права там с кириллицей что-то делать нужно (вроде chcp). |
|
Back to top |
|
|
Mellomann
Joined: 07 Sep 2009 Posts: 708
|
(Separately) Posted: Tue Apr 03, 2012 15:40 Post subject: |
|
|
MVV
Всё хорошо, но столкнулся с ограничением 2 Гб на размер файла. Все попытки большего создают просто 0 байт файлик.
Flasher wrote: | fsutil чем не вариант? | Опробовал, работает, тоже вариант.
Flasher wrote: | Тут вместо 0 нужные байты указываются. | А множители типа k/m/g не работают что ли? Как заставить его работать с ними? (например, 4 Гб)
Flasher wrote: | Права там с кириллицей что-то делать нужно (вроде chcp). | Ерунда, я, в основном, числовые коды использую для имён. |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Tue Apr 03, 2012 16:21 Post subject: |
|
|
Да, для установки указателя использовалось 32-битное число. Переделал на 64-битное. Больше изменений не вносил.
Code: | MIME-Version: 1.0
Content-Type: application/octet-stream; name="MkFileSize.7z"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="MkFileSize.7z"
N3q8ryccAAMEnJRM9QMAAAAAAABnAAAAAAAAAIJFTe4AJpaOcAAX9+wFu+r0/5QBL0TuTr0JVBUh
kFDQQT8gseCX93F00wDLXJDMvREdOBqNaG5sWNZQEflPWXSbNDUAWWnwSqPplaPnnKEenuBwAT85
2ISbiPLflAyHNNF+X2UFvaSV9faaie4zMTvaGENPvMNInkavsZy9gM4Qd+qNEqjKyKwYRTMLfGdx
PghaKLW9n5MGEhCRNnooCzTaKdBorJUl9CNoyqmMLNry2hbm4BzcopjtfTb9pMG8Fb/NR182x0lG
Of1UcVrWw88VXIhmtWe381FTOYlz6Nm0lF1Fr6uXSJSeZ3nmj+14OSvsIBGMeeVriOi4/aeTmV33
W9xDYTEsb+PjQQBvdDs4/O1jk0nK1rKi8wUdLnOiT4aiQwHdie0YJIkwlYo7pmQa4S19iOMLoqLi
gg0M00EeVIn6+cdzUCRLhBzu5XbyiAplK1b0ZWbOAqvFoba9/PIMQPKCVQw12qDJ2QMrUVYHcN4i
P9NqAYB29mOKlPw6h40CcT1qS+sWMSEYbYwYJ8jIJgybrcOPh1dVZH/LoKxQXbKUIYjp5FZRhzzi
wsRA5dOvS0Sx2kOyBUmbV7yqEfh/PX9SjHQZeNbLQYhd430L5EWER+qlV4540R/90UDuF6DHGcCa
WMTdGBQ+in9nHUFUXmne8Q46oqW9RmoAUQX6gP3y0XQafdpUXmZWqOhvQxy2G8c4+UvFwODnUGE4
XG3SVxgJjRtpe+Fc2GkNlV5JHnIPKm4Hw0GiqwnNAG18x+1wnirXk26p7UYV7Dz4MGKJxxEhTIag
SPZlcTG8zFSFSB3TpJPOd1yEHhrPGAMBBHsOgnP/514l7aUawrMmJw9+KN2shRDhK++uwUwuKcY7
EP1kJc65yJCJLYcE2gcoZsFlz9JEtAtAdcFQizQ/WorHMv0zxpuYRNcv5byMLbkhns/AwQPZ69nE
0EYZ36bOinHnm0uJh6lPP2JXl1bPWijGHi6NJJIQmD7lCZWs2nICGSxyE6Mu+9zk356fCvzqnidf
2Yqr99dO+LjVjbwIzKXGzn5h/H9RMISl/ZsrYLbrJ0v0a5cBgUHg83RpJQgsgQa3B1DR7xBU8bf2
oYvAXcoW8bqJF6mFHy+qZLkbCpcg1v4z69fqkTyUCc09z0yrQlcUwPu3j0jOiZVE8zQp3SWvQVmG
OL/5mf5WCwcdBMomU3VnfmB/z54S1Gos1O6Mpf4tVKGU1ijSmCht6CRHE4JTCD15L3Dv0lpfylTp
gBZrJf+CRLmy6zoUK1+4Z5AvmxEYE0aJXSxyp8qdoQnEJ+6I78gRj0l6wLIR6hDCFlMLLFe2Hwju
LRhju/0VWzg0xXcg2IQb+6G2AAEEBgABCYP1AAcLAQACIwMBAQVdAAABAAQDAwEDAQAMiACIAAAI
CgFiQ0EoAAAFAREfAE0AawBGAGkAbABlAFMAaQB6AGUALgBlAHgAZQAAABQKAQDbkUMjlRHNARUG
AQAgCAAAAAA=
|
Так что с предыдущей версией, в отличие от текущей, пример действительно не работал:
Code: | MkFileSize.exe MyFile.bin 10g |
_________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
Mellomann
Joined: 07 Sep 2009 Posts: 708
|
(Separately) Posted: Tue Apr 03, 2012 17:16 Post subject: |
|
|
Спасибо! |
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Apr 03, 2012 17:33 Post subject: |
|
|
Mellomann wrote: | А множители типа k/m/g не работают что ли? Как заставить его работать с ними? (например, 4 Гб) | Это не предусмотрено. MVV у себя лишь для удобства сделал. В системных командах/свойствах почти везде байты указываются. Чтобы заставить работать, нужно делать конвертер для параметров в батнике или скрипте. |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Tue Apr 03, 2012 17:34 Post subject: |
|
|
с кириллицей
Code: | TOTALCMD#BAR#DATA
%ComSpec% /c for /f "delims=" %i in
?('type %WF') do >nul fsutil file createnew "%T%%i" 0
%windir%\system32\shell32.dll,84
Создать в противоположной панели болванки выделенных файлов заданного (последний параметр) в байтах размера
1
-1
|
|
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
|
Back to top |
|
|
Flasher
Joined: 06 Nov 2009 Posts: 14229 Location: Москва
|
(Separately) Posted: Tue Apr 03, 2012 18:32 Post subject: |
|
|
MVV
Основная масса параметров утилиты предполагает потенциальную опасность. Думаю, здесь всё логично. |
|
Back to top |
|
|
c930
Joined: 15 Dec 2004 Posts: 325
|
(Separately) Posted: Tue Sep 03, 2013 23:56 Post subject: |
|
|
MVV
Что-то у меня утилита твоя
MkFileSize.exe 2'048 03.04.2012 16:27 MD5:B5260944B6A43E56099CE7E976406015
из памяти не выгружается после работы. Сколько раз запустишь - столько процессов в памяти остаётся.
P.S. ОС Win7 64bit
Добавлено
Точнее процесс не завершается только в случае выдачи предупредительного сообщения. Например при запуске без параметров или если заданный файл уже существует, а ключ не был задан. |
|
Back to top |
|
|
MVV
Joined: 15 Oct 2009 Posts: 4811 Location: Ростов-Дон
|
(Separately) Posted: Wed Sep 04, 2013 16:03 Post subject: |
|
|
Попробуй эту версию:
Code: | MIME-Version: 1.0
Content-Type: application/octet-stream; name="MkFileSize.7z"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="MkFileSize.7z"
N3q8ryccAAO1zUbRCAQAAAAAAACKAAAAAAAAAOfiTIUAJpaOcAAX9+wFu+r0/5QBL0TvfOb12OgI
BMvR6HvW2ZjwY2zdC0tOufykFwzwVFM7sK4ccIYPG66iIgebt2dXmpcEAuibqX4I/Kd+ipqT029G
fjuKAFYv0X0BwAD3H0h+a3fok3sK4kEDEFVdDhDwMKaGLXxHlKEejqWKJGdEXJcFEtfkbkl2wC7e
yov1z81zqMKc9M7suLmT1z1x0S2inmFNbIlxeMPKueR3t5hdgHi27+PuwHGKSKtZ+onHEFFm93AB
vv2vveXWwsh+Zqb/Na11jQC2nShY6X6r0ROuVMqRQ9gj+Ts4EXKcSZTkxGFkt54sUve21EX25+rQ
4OwnsFpP2thTbL1KXPQAJaMJzZ0eFljWHwJ3zoK4urfTM56NOpDkEkevExWXorlbd5CSkGjn/0/6
2hk2Ojku4ELvQnbLhmTYGV4Ww6mdmiek7gscszq23tO9ZndfddCg3CXuxBhvo05lwfrHIgXUB+S3
j4vdakDEnWqn1ntbrDHH14B90yqN5VtglB+3BLpsgW58Fiq4BzbG8QhUcOt8HnKJLKNrAe0yA9c/
7FsopbOoiF8NObmD+No2O2393ffrAAnM89TIRgr4DF5ZScLuU/lskx6esY5wXPvPK1h1l4uHqL6j
tC++EdyUtzGifm0CbWv8+3eLg3CT8YUGV1P7xFfbVQXgv0nOiA+Ym04rx+bxYZ/TmYAvo27OxNzX
ZUSiWyuXvkjS+qZM1ONlEAlWq6CX+X6ZmgA5b5xDlw381tsVrxEbCdBlmkIbAsFXp9HQXcQQhwiJ
gOtr02e5e2QFZrAysnQK8BZ+YHkYYUF+fBY9jjBUKtum5wBge2zB0C8NOd/xZq/9I8s3BTNjvISO
gSmbcD0JpHQhXHqq5WAubpPp8ILI7nVbUgtXG/Q39ZQqtvNx6DzYwSkHM5GVFl1g/iFmBxWi97uZ
ScsqGbp7u+VSTJiC2OXmj3ipf9VeyFhLOrBAkVh4V7ZOgOrSj/AnWR5tp2w0YgXZK5ZGDvRB2yCW
NtoIyqLU7ZuKhFUzNTu7uwht270Kyu3GzD6quQra5/qFE1tBSvxEgC5B1wvFjovb6EXAd3Bc4YmE
oSSPKtYnr3dMVp5lCAPnmtPzzhApYKTAJjgksTCGLt7NtGzYul1eUPxtQLh+XLwTygQA39S5INBn
OhitMU1FJ0POMBf9vy+B9woiiCVi540GN+KXFc/DWhfZWYP+4lbv1lYdnKh/sB8Auf/jlQwHyK8D
W2XkS9/fAMMizcufY9mbr5wokMsigKfxV590Yng0WsFpCVjaoOPkJE1qv4vbHhR2rOJeE+fflaQV
EI/lYQAA+4P8AAAAAGAS7l2yiVkMAf1ovwAAAGAS12HWu3W25wABBAYABAmD5wYPDAAHCwEABCMD
AQEFXQAAAQAjAwEBBV0AAAEAIwMBAQVdAAABABQDAwEbBAEFAAQBAwICBgEADAgYh+CIAAAICgEo
IzRyAAAFAREfAE0AawBGAGkAbABlAFMAaQB6AGUALgBlAHgAZQAAABQKAQBWg+GlZqnOARUGAQAg
AAAAAAA=
|
Единственное изменение - добавил вызов ExitProcess в конце. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|
Back to top |
|
|
|