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, 3, 4, 5, 6, 7  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Batya



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

Post (Separately) Posted: Fri Aug 25, 2006 09:40    Post subject: Reply with quote

fa1con
Quote:
Я так понимаю плагин запускает скрипт FilesInList.vbs для каждого директории. Это довольно долго. Поэтому пользоваться я этим не буду.

Все верно. И пользоваться действительно надо по необходимости.

Quote:
Чтоб избавиться от тормозов предлагаю переписать скрипты "добавления"/"удаления" так что б он дописывал/удалял в/из комментария выделенных файлов какую-то строчку ("№;%:% например). Тогда можно будет настроить выделения цветом по "комментарий содержит". Так намного быстрее и плагина не надо. Одно плохо – комменты поганятся.

В принципе, можно было бы сделать, если это кому-нибудь надо. И можно добавлять в начало или конец комментария что-нибудь более-менее красивое, например, ####. Тогда и коменты не будут поганиться.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
A.N.T.



Joined: 01 Jul 2006
Posts: 190

Post (Separately) Posted: Fri Aug 25, 2006 10:31    Post subject: Reply with quote

Batya, а с чем связано, то что цвет не сразу появляется(нужно перезайти в папку)?
Back to top
View user's profile Send private message
Batya



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

Post (Separately) Posted: Fri Aug 25, 2006 10:40    Post subject: Reply with quote

A.N.T.
Не знаю.
У меня на левой панели сразу цвет менялся, а на правой приходилось перезаходить.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
Batya



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

Post (Separately) Posted: Fri Aug 25, 2006 14:08    Post subject: Reply with quote

fa1con wrote:
Чтоб избавиться от тормозов предлагаю переписать скрипты "добавления"/"удаления" так что б он дописывал/удалял в/из комментария выделенных файлов какую-то строчку ("№;%:% например). Тогда можно будет настроить выделения цветом по "комментарий содержит". Так намного быстрее и плагина не надо. Одно плохо – комменты поганятся.


Ну что ж, написал.
Добавление в комментарий:
Code:
'==============================================================================
' Добавление в начало комментария (descript.ion) ####
'
' В качестве параметров указать:
' %L "%Pdescript.ion"
'==============================================================================
Option Explicit

If WScript.Arguments.Count < 2  Then
  MsgBox "Не указаны параметры - %L ""%Pdescript.ion""", _
         vbOKOnly + vbExclamation, _
         "Добавление #### в комментарий"
  WScript.Quit
End If

Dim FSO, oTextFile, AllText, OTF, FileName, CommFile, CommLabel, BegFile, BegFileComm
Set FSO   = CreateObject("Scripting.FileSystemObject")
Set OTF   = FSO.OpenTextFile(WScript.Arguments(0), 1)
CommFile  = WScript.Arguments(1)
CommLabel = "####"

AllText = ""
If FSO.FileExists(CommFile) Then
  Set oTextFile = FSO.OpenTextFile(CommFile, 1)
  On Error Resume Next 'Игнорируем ошибку, если файл пустой
    AllText = oTextFile.ReadAll
  On Error GoTo 0
  oTextFile.Close
End If

Do While Not OTF.AtEndOfStream
  FileName = OTF.ReadLine
  If FSO.FileExists(FileName) Then
    FileName = FSO.GetFile(FileName).Name
  Else
    FileName = FSO.GetFolder(FileName).Name
  End If
  If InStr(1, FileName, " ", 1) > 0 Then
    FileName = """" & FileName & """"
  End If
  BegFile = InStr(1, vbNewLine & AllText, vbNewLine & FileName & " ", 1)
  If BegFile > 0 Then
    BegFileComm = BegFile + Len(FileName) + 1
    If InStr(1, Mid(AllText, BegFileComm, Len(CommLabel)), CommLabel, 1) = 0 Then
      AllText = Left(AllText, BegFileComm - 1) & CommLabel & " " & Mid(AllText, BegFileComm)
      Set oTextFile = FSO.OpenTextFile(CommFile, 2)
      oTextFile.Write AllText
      oTextFile.Close
    End If
  Else
    Set oTextFile = FSO.OpenTextFile(CommFile, 8, 2)
    If Right(AllText, Len(vbNewLine)) <> vbNewLine Then
      oTextFile.WriteLine
      AllText = AllText & vbNewLine
    End If
    oTextFile.Write FileName & " " & CommLabel
    oTextFile.Close
    AllText = AllText & FileName & " " & CommLabel
  End If
Loop

OTF.Close
Set oTextFile = Nothing
Set OTF       = Nothing
Set FSO       = Nothing
WScript.Quit


Удаление из комментария:
Code:
'==============================================================================
' Удаление в начале комментария (descript.ion) ####
'
' В качестве параметров указать:
' %L "%Pdescript.ion"
'==============================================================================
Option Explicit

If WScript.Arguments.Count < 2  Then
  MsgBox "Не указаны параметры - %L ""%Pdescript.ion""", _
         vbOKOnly + vbExclamation, _
         "Удаление #### в комментарии"
  WScript.Quit
End If

Dim FSO, oTextFile, AllText, OTF, FileName, CommFile, CommLabel, BegFile, BegFileComm, EndFileComm
Set FSO   = CreateObject("Scripting.FileSystemObject")
Set OTF   = FSO.OpenTextFile(WScript.Arguments(0), 1)
CommFile  = WScript.Arguments(1)
CommLabel = "####"

AllText = ""
If FSO.FileExists(CommFile) Then
  Set oTextFile = FSO.OpenTextFile(CommFile, 1)
  On Error Resume Next 'Игнорируем ошибку, если файл пустой
    AllText = oTextFile.ReadAll
  On Error GoTo 0
  oTextFile.Close
End If

Do While Not OTF.AtEndOfStream
  FileName = OTF.ReadLine
  If FSO.FileExists(FileName) Then
    FileName = FSO.GetFile(FileName).Name
  Else
    FileName = FSO.GetFolder(FileName).Name
  End If
  If InStr(1, FileName, " ", 1) > 0 Then
    FileName = """" & FileName & """"
  End If
  BegFile = InStr(1, vbNewLine & AllText, vbNewLine & FileName & " ", 1)
  If BegFile > 0 Then
    BegFileComm = BegFile + Len(FileName) + 1
    If InStr(1, Mid(AllText, BegFileComm, Len(CommLabel)), CommLabel, 1) > 0 Then
      AllText = Left(AllText, BegFileComm - 1) & Mid(AllText, BegFileComm + Len(CommLabel))
      'Удаление лишних пробелов
      If Instr(BegFile, AllText, FileName & "  ", 1) > 0 Then
        AllText = Left(AllText, BegFileComm - 2) & Mid(AllText, BegFileComm)
      End If
      'Удаление пустых комментариев
      If Instr(BegFile, AllText & vbNewLine, FileName & " " & vbNewLine) > 0 Then
        AllText = Left(AllText, BegFile - 1) & Mid(AllText, BegFile + Len(FileName & " " & vbNewLine))
      End If
      'Удаление лишних концевых строк
      If Right(AllText, Len(vbNewLine)) = vbNewLine Then
        AllText = Left(AllText, Len(AllText) - Len(vbNewLine))
      End If
      Set oTextFile = FSO.OpenTextFile(CommFile, 2)
      oTextFile.Write AllText
      oTextFile.Close
    End If
  End If
Loop

OTF.Close
Set oTextFile = Nothing
Set OTF       = Nothing
Set FSO       = Nothing
WScript.Quit


Настройте шаблон для цвета - плагин "tc", "Комментарий", "содержит", "####".
У кого тачки слабые, сравните, пожалуйста, скорость работы через плагин ScriptContent и черех комментарии.
Back to top
View user's profile Send private message
fa1con



Joined: 19 Aug 2006
Posts: 162

Post (Separately) Posted: Fri Aug 25, 2006 17:36    Post subject: Reply with quote

Всё работает быстро. Ещё было бы прикольно запихнуть это в один скрипт и писать коментарий не в начало, а в конец. А так рулллез! Буду юзать.
Back to top
View user's profile Send private message
Batya



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

Post (Separately) Posted: Fri Aug 25, 2006 17:43    Post subject: Reply with quote

fa1con
В один скрипт точно сливать не буду - смысла особого нет.
А помещать метку в конец комментария возможно. В понедельник покопаюсь.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
A.N.T.



Joined: 01 Jul 2006
Posts: 190

Post (Separately) Posted: Fri Aug 25, 2006 17:56    Post subject: Reply with quote

А мне больше с плагином нравится... Потому что выделяется не только файл, но и все предыдущие директории... Razz
Back to top
View user's profile Send private message
Batya



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

Post (Separately) Posted: Fri Aug 25, 2006 18:07    Post subject: Reply with quote

A.N.T. wrote:
А мне больше с плагином нравится... Потому что выделяется не только файл, но и все предыдущие директории...

Что значит "предыдущие"?
Комментарии к папкам также работают. Если у тебя ошибка при работе с папками, сохрани скрипты еще раз из поста выше - я там кое-что менял.
Back to top
View user's profile Send private message
fa1con



Joined: 19 Aug 2006
Posts: 162

Post (Separately) Posted: Fri Aug 25, 2006 18:14    Post subject: Reply with quote

Batya wrote:
fa1con
В один скрипт точно сливать не буду - смысла особого нет.

Как нет? Есть – один хоткей вместо двух.
Ещё можно удалять пустой descript.ion, как это делает Тотал.
Back to top
View user's profile Send private message
A.N.T.



Joined: 01 Jul 2006
Posts: 190

Post (Separately) Posted: Fri Aug 25, 2006 18:21    Post subject: Reply with quote

Quote:
Что значит "предыдущие"?
Блин, не знаю какое слово бы подобрать , короче я помечаю файл, та директория в которой он находится, тоже "светится", -> директория, в которой находится "светящаяся директория" тоже светится....... Rolling Eyes
Back to top
View user's profile Send private message
Batya



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

Post (Separately) Posted: Fri Aug 25, 2006 18:31    Post subject: Reply with quote

fa1con wrote:
Как нет? Есть – один хоткей вместо двух.

Э нет. Мне такой подход очень не нравится.
Например, если выделить часть файлов, для которых есть комментарий, и часть файлов, для которых нет комментария, и выполнить команду, что скрипт должен делать?

fa1con wrote:
Ещё можно удалять пустой descript.ion, как это делает Тотал.

Это можно.

A.N.T. wrote:
Блин, не знаю какое слово бы подобрать , короче я помечаю файл, та директория в которой он находится, тоже "светится", -> директория, в которой находится "светящаяся директория" тоже светится.......

Это как же у тебя так получилось? А descript.ion для родительских папок содержит комментарий ####? Если нет, то значит ты как-то хитро настроил шаблон. Проверь еще раз.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
A.N.T.



Joined: 01 Jul 2006
Posts: 190

Post (Separately) Posted: Fri Aug 25, 2006 18:42    Post subject: Reply with quote

Quote:
А descript.ion для родительских папок содержит комментарий ####?
(родительские-точно Exclamation ). descript.ion'a вообще нет в родительских папках.
Шаблон правильно настроил... Разве когда я помечаю файл твоим скриптом, в родительских директориях должен тоже descript.ion создаваться? + у меня почему то descript.ion без атрибута "скрытый"...
Back to top
View user's profile Send private message
Batya



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

Post (Separately) Posted: Fri Aug 25, 2006 18:46    Post subject: Reply with quote

A.N.T. wrote:
Разве когда я помечаю файл твоим скриптом, в родительских директориях должен тоже descript.ion создаваться?

Вот именно, что не должен. А раз нет descript.ion, то и подцвечиваться не должно. Значит ты шаблон все-таки неправильно настроил. Это уже не мой скрипт, это Тотал так работает по настроенному тобой шаблону.

A.N.T. wrote:
у меня почему то descript.ion не скрытым становится...

Ага, я уже видел. В понедельник исправлю.
_________________
Нет, я не сплю. Я просто медленно моргаю.
Back to top
View user's profile Send private message
A.N.T.



Joined: 01 Jul 2006
Posts: 190

Post (Separately) Posted: Fri Aug 25, 2006 19:01    Post subject: Reply with quote

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

Шаблон:
Quote:
Плагин: tc
Свойство: Комментарий
Операция: содержит
Значение: ####


Code:
Метка_SearchFor=
Метка_SearchIn=
Метка_SearchText=
Метка_SearchFlags=0|000002000020|||||||||0000
Метка_plugin="tc.comment contains ####"
Back to top
View user's profile Send private message
fa1con



Joined: 19 Aug 2006
Posts: 162

Post (Separately) Posted: Fri Aug 25, 2006 23:17    Post subject: Reply with quote

Quote:
Например, если выделить часть файлов, для которых есть комментарий, и часть файлов, для которых нет комментария, и выполнить команду, что скрипт должен делать?

Инвертировать. А-ля * для коммандеровского выделения. А хотя хрен его знает как удобнее. Для меня вроде было бы удобнее так. Хотя с другой стороны, если в каталоге куча файлов помечено и хочется с них всех эти метки снять, тогда лучше как сейчас сделано. Ещё, как вариант, можно выполнять действие для файла под курсором.
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, 4, 5, 6, 7  Next
Page 2 of 7

 
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