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 

Single Post  Topic: DiskDir <-> Вирт. панели 
Author Message
MVV



PostPosted: Wed May 04, 2011 15:26    Post subject: Reply with quote

Наверное, будет несложно преобразовать текстовый файл DiskDir в текстовый файл Virtual Panel - но придется написать конвертер. За остальные панели не знаю.

Структура DIR-файла:
Code:
D:\TEMP\_tc0\
TOTALCMD.INC   21272   2010.6.17   7:55.0
TOTALCMD.EXE.MANIFEST   1261   2010.6.17   7:55.0
UNACEV2.DLL   77312   2010.6.17   7:55.0
TOTALCMD.EXE   3680568   2010.6.17   7:55.0
e\   0   2011.5.4   14:58.40
KEYBOARD.TXT   10617   2010.6.17   7:55.0
REGISTER.RTF   3131   2010.6.17   7:55.0
TOTALCMD.CHM   415945   2010.6.17   7:55.0
LANGUAGE\   0   2011.5.4   14:59.30
WCMD_ENG.MNU   5223   2010.6.17   7:55.0
WCMD_RUS.INC   15623   2010.6.17   7:55.0
WCMD_RUS.LNG   71098   2010.6.17   7:55.0
WCMD_RUS.MNU   5473   2010.6.17   7:55.0

(первая строка задаёт родительский каталог, остальные строки содержат имена подкаталогов относительно родительского и имена файлов, лежащих в последнем объявленном подкаталоге; имя отделено от остального символом табуляции, или концом строки, если кроме имен ничего нет)

Структура аналогичного LST-файла Virtual Panel:
Code:
00000420   01CB0DD0 DBAB8200   \TOTALCMD.INC   D:\TEMP\_tc0\TOTALCMD.INC
00000420   01CB0DD0 DBAB8200   \TOTALCMD.EXE.MANIFEST   D:\TEMP\_tc0\TOTALCMD.EXE.MANIFEST
00000420   01CB0DD0 DBAB8200   \UNACEV2.DLL   D:\TEMP\_tc0\UNACEV2.DLL
00000420   01CB0DD0 DBAB8200   \TOTALCMD.EXE   D:\TEMP\_tc0\TOTALCMD.EXE
00000410   01CC0A4C 21C395C0   \e   
00000420   01CB0DD0 DBAB8200   \e\KEYBOARD.TXT   D:\TEMP\_tc0\e\KEYBOARD.TXT
00000420   01CB0DD0 DBAB8200   \e\REGISTER.RTF   D:\TEMP\_tc0\e\REGISTER.RTF
00000420   01CB0DD0 DBAB8200   \e\TOTALCMD.CHM   D:\TEMP\_tc0\e\TOTALCMD.CHM
00000410   01CC0A4C 21C4CE40   \LANGUAGE   
00000420   01CB0DD0 DBAB8200   \LANGUAGE\WCMD_ENG.MNU   D:\TEMP\_tc0\LANGUAGE\WCMD_ENG.MNU
00000420   01CB0DD0 DBAB8200   \LANGUAGE\WCMD_RUS.INC   D:\TEMP\_tc0\LANGUAGE\WCMD_RUS.INC
00000420   01CB0DD0 DBAB8200   \LANGUAGE\WCMD_RUS.LNG   D:\TEMP\_tc0\LANGUAGE\WCMD_RUS.LNG
00000420   01CB0DD0 DBAB8200   \LANGUAGE\WCMD_RUS.MNU   D:\TEMP\_tc0\LANGUAGE\WCMD_RUS.MNU

(первые 8 символов - атрибуты, для папки всегда можно ставить 00000410, для файла - 00000420; затем символ табуляции и дата и время - можно везде ставить одинаковое, потом при загрузке всё равно обновится; затем табуляция, относительный путь файла в виртуальной папке, табуляция и полный реальный путь)

Т.о, скрипт должен пройтись 1 раз по файлу, запоминая текущую папку при указании имени со слэшем в конце, и построить строки в новом формате, используя краткие и полные имена файлов и папок (и указывая соответствующий атрибут для файла и папки). Осталось это кому-нибудь написать. Smile
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
View user's profile Send private message ICQ Number


Powered by phpBB © 2001, 2005 phpBB Group