Страница 1 из 7

Пометить файл/папку

Добавлено: Ср авг 23, 2006 20:55
A.N.T.
Часто необходимо каким-нибудь образом временно пометить файл или папку, например цветом... что бы потом его можно было легко найти среди кучи всего остального, что бы можно придумать? Просто хочется горячей клавишей пометить папку, позже при необходимости вернуть в прежнее состояние. Можно конечно воспользоваться скриптом, который меняет дату папки на текущую и поставить фильтр, но такой фильтр у меня уже есть:?

Добавлено: Ср авг 23, 2006 21:27
CaptainFlint
1. Атрибутами.
2. Файловыми комментариями (Ctrl+Z).

Добавлено: Ср авг 23, 2006 21:49
A.N.T.
1.Комментариями долго, не удобно(в данном случае)...
2.Что значит атрибутами?

Добавлено: Ср авг 23, 2006 22:55
Nik
Можно конечно воспользоваться скриптом, который меняет дату папки на текущую и поставить фильтр, но такой фильтр у меня уже есть
Как вариант - с помощью скрипта ставь дату, намного опережающую текущую (скажем, 2260 год :) ) и выделяй файлы с такой датой нужным цветом...

Добавлено: Ср авг 23, 2006 23:02
CaptainFlint
A.N.T. писал(а):2.Что значит атрибутами?
Зарезервировать для себя, скажем, что файлы/папки с атрибутом "только для чтения" будут для тебя этими самыми, помеченными, ну и задать для них шаблон поиска, плюс цвет навесить, чтобы сразу отличать. Разумеется, не обязательно привязываться к "только для чтения", можно некую комбинацию задать. Например, "только для чтения" + "системный" + неустановленный "архивный". Я нечто подобное уже применял для себя, но потом перешёл на систему с комментариями как более мощную. Менее удобно, конечно - в основном тем, что нельзя задавать комментарии сразу нескольким файлам, но в семёрке этот недостаток будет убран.
Nik писал(а):скажем, 2260 год
Это будет затруднительно. :) (попробуй сам)

Добавлено: Чт авг 24, 2006 08:14
A.N.T.
Всем спасибо! :) Больше конечно подходит вариант Nik'a, вот только менять дату на опережающую текущую ничем не грозит :!: :?:

Добавлено: Чт авг 24, 2006 17:16
Batya
Значит так...
Используем Script Content Plugin.
Принцип работы - создаем файл-список, в котором сохраняем помечаемые файлы-папки. Настройте во всех скриптах один путь к файлу-списку.

В папке плагина создаем FilesInList.vbs:

Код: Выделить всё

Dim FSO, FilesList, oTextFile, AllText
FilesList = "D:\TotalCmd\PlugIns\Wdx\ScriptContent\FilesList.txt"
Set FSO = CreateObject("Scripting.FileSystemObject")
content = 0

Set oTextFile = FSO.OpenTextFile(FilesList, 1)
AllText = oTextFile.ReadAll
If InStr(1, AllText, filename, 1) > 0 Then
  content = 1
End If
oTextFile.Close
Set oTextFile = Nothing
Set FSO       = Nothing
Настраиваем инишник плагина:

Код: Выделить всё

[Script]
Section=Files In List
[Files In List]
Script=FilesInList.vbs
LongName=1
ParseDirs=1
Для добавления в файл-список используем vbs-скрипт:

Код: Выделить всё

'==============================================================================
' Добавление полного имени файла в файл-список
'
' В качестве параметра указать:
' %L
'==============================================================================
Option Explicit 
Dim FilesList
'============= Задайте файл-список ============================================
FilesList = "D:\TotalCmd\PlugIns\Wdx\ScriptContent\FilesList.txt"
'==============================================================================

If WScript.Arguments.Count = 0  Then 
  MsgBox "Не указан параметр - %L", _
         vbOKOnly + vbExclamation, _
         "Копирование имени файла в файл-список"
  WScript.Quit
End If

Dim FSO, oTextFile, AllText, OTF, FileName
Set FSO = CreateObject("Scripting.FileSystemObject")
Set OTF = FSO.OpenTextFile(WScript.Arguments(0), 1)
If FSO.FileExists(FilesList) Then
  Set oTextFile = FSO.OpenTextFile(FilesList, 1)
  AllText = oTextFile.ReadAll
  oTextFile.Close
Else
  AllText = ""
End If

Do While Not OTF.AtEndOfStream
  FileName = OTF.ReadLine
  If InStr(1, AllText, FileName, 1) = 0 Then
    Set oTextFile = FSO.OpenTextFile(FilesList, 8, 2)
    oTextFile.WriteLine FileName
    oTextFile.Close
  End If
Loop

OTF.Close
Set oTextFile = Nothing
Set OTF       = Nothing
Set FSO       = Nothing
WScript.Quit
Для удаления из файла-списка:

Код: Выделить всё

'==============================================================================
' Удаление полного имени файла из файла-списка
'
' В качестве параметра указать:
' %L
'==============================================================================
Option Explicit 
Dim FilesList
'============= Задайте файл-список ============================================
FilesList = "D:\TotalCmd\PlugIns\Wdx\ScriptContent\FilesList.txt"
'==============================================================================

If WScript.Arguments.Count = 0  Then 
  MsgBox "Не указан параметр - %L", _
         vbOKOnly + vbExclamation, _
         "Удаление имени файла из файла-списка"
  WScript.Quit
End If

Dim FSO, oTextFile, AllText, OTF, FileName
Set FSO       = CreateObject("Scripting.FileSystemObject")
Set OTF       = FSO.OpenTextFile(WScript.Arguments(0), 1)
Set oTextFile = FSO.OpenTextFile(FilesList, 1)
AllText       = oTextFile.ReadAll
oTextFile.Close

Do While Not OTF.AtEndOfStream
  FileName = OTF.ReadLine
  If InStr(1, AllText, FileName, 1) > 0 Then
    Set oTextFile = FSO.OpenTextFile(FilesList, 2)
    AllText = Replace(AllText, FileName, "", 1, -1, 1)
    AllText = Replace(AllText, vbNewLine & vbNewLine, vbNewLine, 1, -1, 1)
    oTextFile.Write AllText
    oTextFile.Close
  End If
Loop

OTF.Close
Set oTextFile = Nothing
Set OTF       = Nothing
Set FSO       = Nothing
WScript.Quit
При настройке цвета указываем Script Content Plugin, колонка Result = 1.

Добавлено: Чт авг 24, 2006 17:45
A.N.T.
Сейчас попробую :)
Попробовал
2Batya
<Added> Спасибо конечно за идею.., но неудобно мне переключаться на колонки данном случае, если б удобно было я бы комментариями пользовался... Мне нужно просто тупо отметить цветом файл/папку позже вернуться к ней -> убрать цвет... + я не понял как должен цвет меняться, файлы в список FilesList.txt добавляются и...?

Добавлено: Чт авг 24, 2006 18:23
Batya
Гм...
По-порядку.
1. Настроил плагин, как описано выше.
2. Заходишь в Настройки - Цвет - Определить цвета для типов файлов - Добавить - Шаблон - Закладка "Плагины", плагин "script", свойство "Result", операция "=", значение "1" - Сохранить - "Отмеченные файлы-папки" - ОК - Выбрать этот шаблон - ОК - Выбрать цвет - ОК - Перетащить новое правило в самый верх - ОК - ОК.
3. На кнопки вешаешь 2 скрипта - для добавления в список и для удаления из него.
4. Выделяешь файлы, жмешь кнопку "Добавить в список" - должны выделиться указанным тобой цветом. Если не выделяется, попробуй перезайти в папку.

Колонки вообще не нужны. Забудь про них. Главное - сделать шаблон, используя плагин.

Добавлено: Чт авг 24, 2006 19:02
A.N.T.
Хых (как это я сразу не допёр, что нужно шаблон сделать)... :D Спасибо Batya, какой раз выручаешь... :) О таком решении я даже не догадывался...

Добавлено: Чт авг 24, 2006 20:05
D1P
Для подобной цели можно использовать мой плаг WdxGlobalDiz (http://wincmd.ru/plugring/wdx_global_diz.html), правда с ним трудновато будет разобраться.

Добавлено: Чт авг 24, 2006 21:40
Nik
Это будет затруднительно. (попробуй сам)
А в чём, собственно, проблема?

Добавлено: Чт авг 24, 2006 21:44
CaptainFlint
Nik писал(а):А в чём, собственно, проблема?
Попробуй выставить 2260 год и посмотри, что получится. :)

Добавлено: Чт авг 24, 2006 23:01
Nik
Попробуй выставить 2260 год и посмотри, что получится
Ну ладно, я погорячился (D1P меня поймет :) ). Можно использовать 2016 :)

Добавлено: Пт авг 25, 2006 01:13
fa1con
2batja
Поражаюсь твоей находчивости. Где ты находишь столько времени в этом разбираться?
Не знаю как у вас, но у меня после проделанного довольно заметно увеличилось время открытия каталога. Я так понимаю плагин запускает скрипт FilesInList.vbs для каждого директории. Это довольно долго. Поэтому пользоваться я этим не буду. Хотя идея помечать каталоги мне очень понравилась.

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