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 

Script Request
Goto page Previous  1, 2, 3 ... 7, 8, 9 ... 40, 41, 42  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Volniy



Joined: 15 Dec 2004
Posts: 585
Location: Местный

Post (Separately) Posted: Thu Sep 18, 2008 01:23    Post subject: Reply with quote

Количество и размер - это запросто. А вот что касается стиля, тут нужен ActiveX компонент, который умеет читать стили MP3. Ну, это можно найти, я думаю. А потом, что писать, если стили в файлах одной папки разные окажутся?

А, кстати, почему именно нужен скрипт? Скорее всего эти файлы с инфой - это результат работы какой-то программы, работающей с MP3, каталогизатора или типа того.
Back to top
View user's profile Send private message
noklip



Joined: 17 Sep 2008
Posts: 22

Post (Separately) Posted: Thu Sep 18, 2008 03:09    Post subject: Reply with quote

Все папки оформленны одним стандартом - в одной папе один жанр. Вот только программ я таких не находил(( слышал что такие файлы скриптами делаются. на крутых серверах с музыкой стоит фрибсд и там все по скриптам. но думаю и в тотале можно такое сотворить.. этот файлик полезен для подбития общей статистики и для создания сайта, чтобы связать страничку штмл с альбомами через него. а как хотябы размер и количество файлов записать в его название и вообще как его создать)?
Back to top
View user's profile Send private message
Volniy



Joined: 15 Dec 2004
Posts: 585
Location: Местный

Post (Separately) Posted: Thu Sep 18, 2008 17:21    Post subject: Reply with quote

Вот, например, скрипт, быстрая переделка другого моего скрипта для создания плейлистов (кстати их можно и объединить).
Code:
'  File:         MakeMP3report.vbs  (2-nd edition)
'  Description:  Создает инфо-файл в текущей и в каждой
'                в нее вложенной папке, если найдет в них файлы MP3
'  Installation: Создайте кнопку на панели TC
'                Команда: "диск:\путь\к\файлу\MakeMP3report.vbs"
'                Параметры: "%P"
'(c)2008, Volniy 
 
Option Explicit
   Dim Fso, Cnt
   Set Fso = CreateObject("Scripting.FileSystemObject")

   If Fso.FolderExists(WScript.Arguments(0)) = False Then
      MsgBox "Указана неверная директория!", vbCritical, "Ошибка"
   Else
      Call ScanFolderForMP3(Fso.GetFolder(WScript.Arguments(0)))
      MsgBox   "Информационных  файлов создано: " & Cnt, vbInformation, "Завершено"
   End If

   Set Fso = Nothing
   WScript.Quit

Sub ScanFolderForMP3(curFolder)
   Dim SF
   For Each SF In curFolder.SubFolders
      ScanFolderForMP3 SF
   Next
   Call MakeInfoFile(curFolder)
End Sub

Sub MakeInfoFile(curFolder)
   Dim F, fExt, Sz, CntMP3
   'On Error Resume Next
   For Each F In curFolder.Files
      fExt = UCase(Fso.GetExtensionName(F.Name))
      If fExt = "MP3" Then
         CntMP3 = CntMP3 +1
         Sz = Sz + F.Size
      End If
   Next
   If cntmp3 Then
     '[размер мп3 файлов_количество мп3 файлов]
     Sz = FormatNumber(Sz/(1024*1024),2,-1, ,0)
     Set F = curFolder.CreateTextFile("[" & sz & "mb_" & CntMP3 & "fl]", True)
         F.Close: Cnt = Cnt + 1
   End If
End Sub


Last edited by Volniy on Thu Sep 18, 2008 22:55; edited 1 time in total
Back to top
View user's profile Send private message
noklip



Joined: 17 Sep 2008
Posts: 22

Post (Separately) Posted: Thu Sep 18, 2008 22:28    Post subject: Круто !! Reply with quote

О что надо. вот только как сделать чтобі размер в метрах віводило? я исправил "[" & sz/1000000 & "mb_" & CntMP3 & "f]" но выводит в формате 10,585468mb(( хотелось бы 10,58мб
Back to top
View user's profile Send private message
Volniy



Joined: 15 Dec 2004
Posts: 585
Location: Местный

Post (Separately) Posted: Thu Sep 18, 2008 22:57    Post subject: Reply with quote

ОК. Изменил скрипт. Замени весь блок MakeInfoFile ибо там один косячок обнаружился.
Back to top
View user's profile Send private message
noklip



Joined: 17 Sep 2008
Posts: 22

Post (Separately) Posted: Fri Sep 19, 2008 00:07    Post subject: Reply with quote

ОПлучается если в папке несколько мп3 то выдает размер последнего файла.. Sad Sad
Back to top
View user's profile Send private message
Volniy



Joined: 15 Dec 2004
Posts: 585
Location: Местный

Post (Separately) Posted: Fri Sep 19, 2008 00:59    Post subject: Reply with quote

Volniy wrote:
Замени весь блок MakeInfoFile ибо там один косячок обнаружился.

И для кого я это писал, а?
Back to top
View user's profile Send private message
noklip



Joined: 17 Sep 2008
Posts: 22

Post (Separately) Posted: Fri Sep 19, 2008 01:22    Post subject: Reply with quote

ну это я понял только вот не знаю что писать)
Back to top
View user's profile Send private message
Volniy



Joined: 15 Dec 2004
Posts: 585
Location: Местный

Post (Separately) Posted: Fri Sep 19, 2008 12:20    Post subject: Reply with quote

"Ну вы, блин, даете" (с) Полковник

Просто замени у себя весь скрипт, полностью. Я ведь его отредактировал в своем первом посте, там теперь исправленный вариант.
Back to top
View user's profile Send private message
noklip



Joined: 17 Sep 2008
Posts: 22

Post (Separately) Posted: Fri Sep 19, 2008 18:53    Post subject: Reply with quote

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



Joined: 27 Jan 2009
Posts: 8

Post (Separately) Posted: Tue Jan 27, 2009 20:07    Post subject: А если усложнить? Reply with quote

Мне эта тема очень помогага до определенного этапа. Теперь нужно запихать файл на несколько уровней поглубже.

Т.е. файлы
ded_moroz_krasny_nos_01.jpg
ded_moroz_06.jpg
varvara_krasa_dlinnaya_kosa_02.jpg

нужно раскидать по папкам:
ded/moroz/krasny/nos/ded_moroz_krasny_nos_01.jpg
ded/moroz/ded_moroz_06.jpg
varvara/krasa/dlinnaya/kosa/varvara_krasa_dlinnaya_kosa_02.jpg

А в идеале название папки с заглавной буквы, а имя файла обрезать до номера. т.е.

Ded/Moroz/Krasny/Nos/01.jpg
Ded/Moroz/06.jpg
Varvara/Krasa/Dlinnaya/Kosa/02.jpg

Проблема еще в том, что глубина разная.
Не подскажите, как быть?
Back to top
View user's profile Send private message
zakkazak



Joined: 30 Jan 2009
Posts: 4

Post (Separately) Posted: Sat Jan 31, 2009 16:43    Post subject: Reply with quote

Создание UNDO (отменить) для reg-файла.
наверное сложно будет написать такой скрипт, но был бы очень полезен. Перед тем как применить reg-файл , содается для него Undo-reg-файл для страховки.
PS. Скрипт будет применяться для рег-файлов среднего размера.
Back to top
View user's profile Send private message
Volniy



Joined: 15 Dec 2004
Posts: 585
Location: Местный

Post (Separately) Posted: Sat Jan 31, 2009 20:54    Post subject: Reply with quote

Очень коротко отвечу: это нереально. Вы неверно предствляете себе ундо-файл. Он должен восстановить содержимое Реестра до применения рег-файла. Для этого нужно оценить изменение содержимого реестра. Как? Есть только один более-менее реальный способ: снятие снимков реестра до и после операции, приводящей к изменениям в реестре, и их последующее сравнение.

IMHO: Скрипт не может создать undo только по содержимому рег-файла.(точка)
Back to top
View user's profile Send private message
gumanok



Joined: 27 Jan 2009
Posts: 8

Post (Separately) Posted: Sun Feb 01, 2009 01:41    Post subject: Reply with quote

Я пытался разбить процесс на несколько этапов. Раскидать в папки с названиями до первого прочерка мне удалось строкой.

DashInName = Instr(FileName, "_")

В скрипте Бати в этой теме. А на следующий уровень сдвинуть папки не получается. Т.е. до второго прочерка.

DashInName = Instr(FileName, "_", 2)

Вроде, все правильно написано.
Back to top
View user's profile Send private message
Volniy



Joined: 15 Dec 2004
Posts: 585
Location: Местный

Post (Separately) Posted: Sun Feb 01, 2009 02:29    Post subject: Reply with quote

gumanok wrote:
Вроде, все правильно написано.

Не правильно. Для поиска позиции следующего символа _
Code:
DashInName = Instr(DashInName + 2, FileName, "_")

А вообще тут проще использовать функцию Split, типа так:
Code:
AllDashes = Split(FileName, "_")
'MsgBox AllDashes(0) & vbCr & AllDashes(1)
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 Previous  1, 2, 3 ... 7, 8, 9 ... 40, 41, 42  Next
Page 8 of 42

 
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