Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

[PluginRequest] Создание образов hdd или файлов-пустышек
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Mellomann



Joined: 07 Sep 2009
Posts: 708

Post (Separately) Posted: Fri Feb 17, 2012 19:49    Post subject: [PluginRequest] Создание образов hdd или файлов-пустышек Reply with quote

Суть работы - аналогична 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
View user's profile Send private message
jentoso



Joined: 20 Dec 2007
Posts: 351

Post (Separately) Posted: Fri Feb 17, 2012 19:59    Post subject: Reply with quote

Mellomann, как думаешь, какой размер будет у такого плагина? Может просто использовать программу Disk2VHD
Back to top
View user's profile Send private message
Mellomann



Joined: 07 Sep 2009
Posts: 708

Post (Separately) Posted: Fri Feb 17, 2012 20:27    Post subject: Reply with quote

jentoso
Не так уже и много, ибо создавалка файла с нулями - вещь простая, а (для сравнения) эмулька, монтирующая образы (и, соответственно, делающая с ними всё и вся) весит вообще полмегабайта...

А если это слишком трудоёмко... Тогда можно просто "создание файла пустышки указаного размера", ибо смонтировать и накидать файлов технически я смогу и снаружи (не Тоталом).
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Mon Feb 20, 2012 15:54    Post subject: Reply with quote

Улыбнула разница в сложности поставленных задач: или плагин, который умеет это-это-это-это-это, или просто создание файла-пустышкиSmile) вот тулза, которая создает файл-пустышку. В командной строке указывать путь к создаваемому файлу и через пробел размер в байтах (или можно букву множителя впритык к числу написать, например, 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
View user's profile Send private message
Mellomann



Joined: 07 Sep 2009
Posts: 708

Post (Separately) Posted: Mon Feb 20, 2012 16:47    Post subject: Reply with quote

MVV wrote:
разница в сложности поставленных задач

Разница в том, что база - создание файла указаного размера - одна, а доп.возможности (разметить ФС и всунуть файлы) - дополнительные, которые, в принципе, реализуемы при помощи проги ImDisk. Просто, если можно - было бы хорошо иметь полный функционал, ибо так и удобнее и быстрее.

Добавлено спустя 3 минуты:

А за прогу отдельная благодарность!
Уже опробовал, то, что надо!
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Feb 21, 2012 11:15    Post subject: Reply with quote

Mellomann wrote:
А за прогу отдельная благодарность!
fsutil чем не вариант? Тут вместо 0 нужные байты указываются. Права там с кириллицей что-то делать нужно (вроде chcp).
Back to top
View user's profile Send private message
Mellomann



Joined: 07 Sep 2009
Posts: 708

Post (Separately) Posted: Tue Apr 03, 2012 15:40    Post subject: Reply with quote

MVV
Всё хорошо, но столкнулся с ограничением 2 Гб на размер файла. Все попытки большего создают просто 0 байт файлик.

Flasher wrote:
fsutil чем не вариант?
Опробовал, работает, тоже вариант.
Flasher wrote:
Тут вместо 0 нужные байты указываются.
А множители типа k/m/g не работают что ли? Как заставить его работать с ними? (например, 4 Гб)
Flasher wrote:
Права там с кириллицей что-то делать нужно (вроде chcp).
Ерунда, я, в основном, числовые коды использую для имён.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Tue Apr 03, 2012 16:21    Post subject: Reply with quote

Да, для установки указателя использовалось 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
View user's profile Send private message
Mellomann



Joined: 07 Sep 2009
Posts: 708

Post (Separately) Posted: Tue Apr 03, 2012 17:16    Post subject: Reply with quote

Спасибо!
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Apr 03, 2012 17:33    Post subject: Reply with quote

Mellomann wrote:
А множители типа k/m/g не работают что ли? Как заставить его работать с ними? (например, 4 Гб)
Это не предусмотрено. MVV у себя лишь для удобства сделал. В системных командах/свойствах почти везде байты указываются. Чтобы заставить работать, нужно делать конвертер для параметров в батнике или скрипте.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Tue Apr 03, 2012 17:34    Post subject: Reply with quote

с кириллицей
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
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Tue Apr 03, 2012 18:18    Post subject: Reply with quote

Большущая тупость fsutil - требование прав администратора даже для таких банальных задач, как создание файла...
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 14229
Location: Москва

Post (Separately) Posted: Tue Apr 03, 2012 18:32    Post subject: Reply with quote

MVV
Основная масса параметров утилиты предполагает потенциальную опасность. Думаю, здесь всё логично.
Back to top
View user's profile Send private message
c930



Joined: 15 Dec 2004
Posts: 325

Post (Separately) Posted: Tue Sep 03, 2013 23:56    Post subject: Reply with quote

MVV
Что-то у меня утилита твоя
MkFileSize.exe 2'048 03.04.2012 16:27 MD5:B5260944B6A43E56099CE7E976406015

из памяти не выгружается после работы. Сколько раз запустишь - столько процессов в памяти остаётся.

P.S. ОС Win7 64bit

Добавлено
Точнее процесс не завершается только в случае выдачи предупредительного сообщения. Например при запуске без параметров или если заданный файл уже существует, а ключ не был задан.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4811
Location: Ростов-Дон

Post (Separately) Posted: Wed Sep 04, 2013 16:03    Post subject: Reply with quote

Попробуй эту версию:
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
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Плагины Total Commander All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group