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 

Пустой файл - это что?
Goto page Previous  1, 2
 
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы printer-friendly view
View previous topic :: View next topic  
Author Message
kdn



Joined: 19 Sep 2006
Posts: 85
Location: Москва, РФ

Post (Separately) Posted: Thu Oct 05, 2006 20:34    Post subject: Reply with quote

D1P wrote:
2Batya: Я понял (сам столкнулся с подобной задачей). Ему надо воссоздать структуру каталогов, учитывая содержащиеся в них файлы, по имеющемуся lst-файлу. "Восстановленные" файлы, само собой, должны быть пустые. "Распаковка" lst-файла пока только позволяет восстановить структуру каталогов, "файлы" игнорируются.

Практически совершенно верно Вы меня поняли.При распаковке lst-файла если установлено, что каталоги и файлы (2 галки) - он просто распакует как и любой архиватор.А меня интересует, как было верно замечено, чтобы он распаковывал эти упакованные файлы - именно в нулевом размере!
Back to top
View user's profile Send private message
Моторокер



Joined: 06 May 2005
Posts: 1517
Location: г. Пермь (читается Перьмь)

Post (Separately) Posted: Fri Oct 06, 2006 07:10    Post subject: Reply with quote

В паскале код на десяток строчек, дольше набирать.
_________________
плагины для Total Commander, статьи Graphics Converter; NSCopy; SEO HTML; KillOK; Плагин на Delphi
ПармаСруб - строительство домов и бань в Перми
Back to top
View user's profile Send private message
Batya



Joined: 15 Dec 2004
Posts: 2218
Location: Москва, Россия

Post (Separately) Posted: Fri Oct 06, 2006 19:59    Post subject: Reply with quote

kdn
Тогда тебе поможет следующий скрипт:
Code:
'=====================================================================
' Создание структуры каталогов и файлов нулевого размера в них

' В параметрах вызова из TC должно быть прописано:
' %L "%T"
'=====================================================================

Option Explicit
Dim FSO, WSH, OTF, Target, NewTar
Dim Selected
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
Set OTF = FSO.OpenTextFile(WScript.Arguments(0), 1)
Target  = WScript.Arguments(1)

Do While Not OTF.AtEndOfStream
  Selected = OTF.ReadLine
  If FSO.FileExists(Selected) Then
    WSH.Run "fsutil file createnew """ & Target & FSO.GetFile(Selected).Name & """ 0", 7, True
  End If
  If FSO.FolderExists(Selected) Then
    NewTar = Target & FSO.GetFolder(Selected).Name
    If Not FSO.FolderExists(NewTar) Then
      FSO.CreateFolder(NewTar)
    End If
    FolderProcess FSO.GetFolder(Selected), NewTar & "\"
  End If
Loop
'MsgBox("Выполнено!")
Set OTF = Nothing
Set FSO = Nothing
Set WSH = Nothing
WScript.Quit()

Function FolderProcess(Fold, Tar)
  Dim sf, f, NewF
  For Each sf in Fold.SubFolders
    NewF = Tar & sf.Name
    If Not FSO.FolderExists(NewF) Then
      FSO.CreateFolder(NewF)
    End If
    FolderProcess sf, NewF & "\"
  Next
  For Each f in Fold.Files
    WSH.Run "fsutil file createnew """ & Tar & FSO.GetFile(f).Name & """ 0", 7, True
  Next
End Function

Сохрани код в файл с расширением vbs. Повесь файл на кнопку. В параметрах кнопки укажи:
%L "%T"

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

P.S. Если возникнут вопросы, я наверное теперь не скоро смогу помочь - с понедельника я на новой работе, и не знаю, как там с интернетом, а дома я даже комп почти не включаю.
Всем удачи!
Back to top
View user's profile Send private message
kdn



Joined: 19 Sep 2006
Posts: 85
Location: Москва, РФ

Post (Separately) Posted: Fri Oct 06, 2006 21:16    Post subject: Reply with quote

Batya
Очень Вам признателен.Это действительно очень нужная и полезная вещь.Спасибо! Smile
Back to top
View user's profile Send private message
kdn



Joined: 19 Sep 2006
Posts: 85
Location: Москва, РФ

Post (Separately) Posted: Mon Oct 09, 2006 17:26    Post subject: Reply with quote

Хотел бы еще спросить: а вообще говоря эти пустые файлы сколько "весят".В свойствах файла конечно 0 байт, но а на самом деле сколько?
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6151
Location: Москва

Post (Separately) Posted: Mon Oct 09, 2006 17:28    Post subject: Reply with quote

kdn wrote:
а вообще говоря эти пустые файлы сколько "весят".В свойствах файла конечно 0 байт, но а на самом деле сколько?

В NTFS - на самом деле ноль. Маленькие файлы (до нескольких сотен байт) там целиком хранятся в таблице MFT и дополнительного места не занимают. Насчёт FAT уже точно не помню. Либо тоже ноль, либо один кластер.
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
kdn



Joined: 19 Sep 2006
Posts: 85
Location: Москва, РФ

Post (Separately) Posted: Mon Oct 09, 2006 17:39    Post subject: Reply with quote

CaptainFlint wrote:
Маленькие файлы (до нескольких сотен байт) там целиком хранятся в таблице MFT и дополнительного места не занимают. Насчёт FAT уже точно не помню. Либо тоже ноль, либо один кластер.

А вот эта таблица MFT где непосредственно находится: в ОС в какой-то папке или она не видна в ОС, а только присутствует на диске? Ее можно просмотреть (применимо к редактированию нулевых файлов, если потребуется).
Просто дело в том, что я запустил первый раз через кнопку в TC vbs тот, что Batya привел, а ОС сослалась на какое-то длинное значение индекса в строке 14 (вроде было так написано).А может это просто не та панель была включена.Второй раз - нормально все создалось, только конечно несколько медленно: например папку размером 469 Мб он создавал минут 7 и еще наблюдалась вообще потрясная картина: В ОС почему-то все вкладки на панели задач начали "перемещаться влево" еле-еле, а потом назад, прямо как каретка в печатной машинке.
Back to top
View user's profile Send private message
CaptainFlint



Joined: 14 Dec 2004
Posts: 6151
Location: Москва

Post (Separately) Posted: Mon Oct 09, 2006 17:57    Post subject: Reply with quote

kdn wrote:
А вот эта таблица MFT где непосредственно находится: в ОС в какой-то папке или она не видна в ОС, а только присутствует на диске?

Вообще говоря, из ОС она не видна, но особым хитрым способом до неё всё же доступиться можно (например, через плагин NTFS). Однако делать это крайне не рекомендуется, ибо очень легко таким образом навернуть файловую систему.

kdn wrote:
а ОС сослалась на какое-то длинное значение индекса в строке 14 (вроде было так написано).

Мне кажется, что ОС, как и файловая система, тут ни при чём, просто скрипт, по всей видимости, был запущен без параметров (учитывая, что 14-я строчка - это "Target = WScript.Arguments(1)"). А вообще, лучше подождать Батю... Smile
_________________
Почему же, ё-моё, ты нигде не пишешь "ё"?
Back to top
View user's profile Send private message
kdn



Joined: 19 Sep 2006
Posts: 85
Location: Москва, РФ

Post (Separately) Posted: Fri Jun 29, 2007 10:04    Post subject: Reply with quote

Не поможете с ответом на вопрос:
Вот эти создаваемые "пустые" файлы они занимают какой-то объем на диске? Я предполагаю использовать этот скрипт так: как только я начинаю новый жесткий диск, то я переношу на него (копирую-создаю) все данные с предыдущего законченного жесткого диска.Каждому файлу на предыдущем диске я присваивал уникальный номер, поэтому после копирования структуры "пустых файлов" на новый хард, я могу сразу определить, на каком диске содержится нужная инфа.
Когда объем на новом харде закончится, я начну новый и пересу на него структуру в виде "пустых файлов" с этого диска №2, который закончился итд.
Вопрос в том, вот эти пустые файлы хоть и не занимают объема, но как мне кажется ведь сведения фиксируются в файловой таблице на диске.Не сможет ли такое повредить файловую таблицу харда, так как с каждым новым начинаемым диском пустых файлов будет все больше и больше, коль я их переношу с предыдущих хардов?

Файловая система сейчас у меня - NTFS
Back to top
View user's profile Send private message
D1P



Joined: 20 Dec 2004
Posts: 2973
Location: Тбилиси

Post (Separately) Posted: Fri Jun 29, 2007 12:03    Post subject: Reply with quote

Quote:
Вопрос в том, вот эти пустые файлы хоть и не занимают объема, но как мне кажется ведь сведения фиксируются в файловой таблице на диске.Не сможет ли такое повредить файловую таблицу харда, так как с каждым новым начинаемым диском пустых файлов будет все больше и больше, коль я их переношу с предыдущих хардов?

Нет. Объём в MFT записи конечно займут (если он приличный, то это даже можно будет увидеть в свойствах диска), но ни о какой порче речи и идти не может.
_________________
База знаний о Total Commander
Блог
Back to top
View user's profile Send private message
cojoc



Joined: 04 Sep 2009
Posts: 144

Post (Separately) Posted: Mon Nov 14, 2011 02:48    Post subject: Reply with quote

Что-то эта кнопка у меня больше не работает (раньше кажется работала)
Code:
TOTALCMD#BAR#DATA
 cmd.exe /c @echo off &
 for /f "delims=" %%i in (%F) do fsutil file createnew "%T%%i" 0 > nul
 shell32.dll,84



 -1

Файлы остаются как были.
Скрипт тоже только создаёт структуру каталогов, а файлов нет.
TC 8b9
Back to top
View user's profile Send private message
Flasher



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

Post (Separately) Posted: Mon Nov 14, 2011 02:52    Post subject: Reply with quote

cojoc
См. тут.
Back to top
View user's profile Send private message
cojoc



Joined: 04 Sep 2009
Posts: 144

Post (Separately) Posted: Mon Nov 14, 2011 03:05    Post subject: Reply with quote

Flasher, спасибо Smile
Заменил строки - заработало!
Отдельное спасибо за ответ в столь поздний час Smile
Back to top
View user's profile Send private message
kdn



Joined: 19 Sep 2006
Posts: 85
Location: Москва, РФ

Post (Separately) Posted: Fri Dec 07, 2012 13:03    Post subject: Reply with quote

Хотел бы еще кое-что уточнить по скрипту создания структуры пустых файлов и папок:
Можно ли сделать так, чтобы создавалась не только структура папок и файлов, но и в создаваемых папках и файлах скрипт прописывал имеющиеся атрибуты папок и файлов.
Поясняю, для чего это: Представьте вы скачали базу данных, содержащую уйму gif-ов или отдельных мелких файликов СУБД Cronos - помещать такое в архив rar - займет массу времени да и смысла почти нет, так как, представьте, нужно будет это все распаковывать...а все эти винрары делают это черт знает сколько времени, вот и приходится на них на всех ставить скрытые атрибуты, а данный скрипт не копируют атрубуты. Синхронизация это делает, а скрипт этот нет
Вопрос: Как заставить этот скрипт прописывать атрибуты в создаваемой структуре пустых каталогов и файлов?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Общие вопросы All times are GMT + 4 Hours
Goto page Previous  1, 2
Page 2 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