Пометить файл/папку
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next  :| |:
Total Commander -> Автоматизация Total Commander

#16:  Author: BatyaLocation: Москва, Россия PostPosted: Fri Aug 25, 2006 09:40
    —
fa1con
Quote:
Я так понимаю плагин запускает скрипт FilesInList.vbs для каждого директории. Это довольно долго. Поэтому пользоваться я этим не буду.

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

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

В принципе, можно было бы сделать, если это кому-нибудь надо. И можно добавлять в начало или конец комментария что-нибудь более-менее красивое, например, ####. Тогда и коменты не будут поганиться.

#17:  Author: A.N.T. PostPosted: Fri Aug 25, 2006 10:31
    —
Batya, а с чем связано, то что цвет не сразу появляется(нужно перезайти в папку)?

#18:  Author: BatyaLocation: Москва, Россия PostPosted: Fri Aug 25, 2006 10:40
    —
A.N.T.
Не знаю.
У меня на левой панели сразу цвет менялся, а на правой приходилось перезаходить.

#19:  Author: BatyaLocation: Москва, Россия PostPosted: Fri Aug 25, 2006 14:08
    —
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 и черех комментарии.

#20:  Author: fa1con PostPosted: Fri Aug 25, 2006 17:36
    —
Всё работает быстро. Ещё было бы прикольно запихнуть это в один скрипт и писать коментарий не в начало, а в конец. А так рулллез! Буду юзать.

#21:  Author: BatyaLocation: Москва, Россия PostPosted: Fri Aug 25, 2006 17:43
    —
fa1con
В один скрипт точно сливать не буду - смысла особого нет.
А помещать метку в конец комментария возможно. В понедельник покопаюсь.

#22:  Author: A.N.T. PostPosted: Fri Aug 25, 2006 17:56
    —
А мне больше с плагином нравится... Потому что выделяется не только файл, но и все предыдущие директории... Razz

#23:  Author: BatyaLocation: Москва, Россия PostPosted: Fri Aug 25, 2006 18:07
    —
A.N.T. wrote:
А мне больше с плагином нравится... Потому что выделяется не только файл, но и все предыдущие директории...

Что значит "предыдущие"?
Комментарии к папкам также работают. Если у тебя ошибка при работе с папками, сохрани скрипты еще раз из поста выше - я там кое-что менял.

#24:  Author: fa1con PostPosted: Fri Aug 25, 2006 18:14
    —
Batya wrote:
fa1con
В один скрипт точно сливать не буду - смысла особого нет.

Как нет? Есть – один хоткей вместо двух.
Ещё можно удалять пустой descript.ion, как это делает Тотал.

#25:  Author: A.N.T. PostPosted: Fri Aug 25, 2006 18:21
    —
Quote:
Что значит "предыдущие"?
Блин, не знаю какое слово бы подобрать , короче я помечаю файл, та директория в которой он находится, тоже "светится", -> директория, в которой находится "светящаяся директория" тоже светится....... Rolling Eyes

#26:  Author: BatyaLocation: Москва, Россия PostPosted: Fri Aug 25, 2006 18:31
    —
fa1con wrote:
Как нет? Есть – один хоткей вместо двух.

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

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

Это можно.

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

Это как же у тебя так получилось? А descript.ion для родительских папок содержит комментарий ####? Если нет, то значит ты как-то хитро настроил шаблон. Проверь еще раз.

#27:  Author: A.N.T. PostPosted: Fri Aug 25, 2006 18:42
    —
Quote:
А descript.ion для родительских папок содержит комментарий ####?
(родительские-точно Exclamation ). descript.ion'a вообще нет в родительских папках.
Шаблон правильно настроил... Разве когда я помечаю файл твоим скриптом, в родительских директориях должен тоже descript.ion создаваться? + у меня почему то descript.ion без атрибута "скрытый"...

#28:  Author: BatyaLocation: Москва, Россия PostPosted: Fri Aug 25, 2006 18:46
    —
A.N.T. wrote:
Разве когда я помечаю файл твоим скриптом, в родительских директориях должен тоже descript.ion создаваться?

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

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

Ага, я уже видел. В понедельник исправлю.

#29:  Author: A.N.T. PostPosted: Fri Aug 25, 2006 19:01
    —
Никак не могу понять, твой скрипт должен подсвечивать родительские директории или нет? Было бы очень даже круто...Без плага можно было б юзать + файлы/папки сразу закрашивались...

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


Code:
Метка_SearchFor=
Метка_SearchIn=
Метка_SearchText=
Метка_SearchFlags=0|000002000020|||||||||0000
Метка_plugin="tc.comment contains ####"

#30:  Author: fa1con PostPosted: Fri Aug 25, 2006 23:17
    —
Quote:
Например, если выделить часть файлов, для которых есть комментарий, и часть файлов, для которых нет комментария, и выполнить команду, что скрипт должен делать?

Инвертировать. А-ля * для коммандеровского выделения. А хотя хрен его знает как удобнее. Для меня вроде было бы удобнее так. Хотя с другой стороны, если в каталоге куча файлов помечено и хочется с них всех эти метки снять, тогда лучше как сейчас сделано. Ещё, как вариант, можно выполнять действие для файла под курсором.



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3, 4, 5, 6, 7  Next  :| |:
Page 2 of 7

Powered by phpBB © 2001, 2005 phpBB Group