View previous topic :: View next topic |
Author |
Message |
Andrey_A
Joined: 10 Apr 2009 Posts: 394 Location: Сочи
|
(Separately) Posted: Thu Dec 17, 2009 17:58 Post subject: Выделение папок, в которых находится файл... |
|
|
Я несколько раз сталкивался с такой задачей. Есть много папок, и нужно выделить те, в которой находится тот или файл. В первом случае мне нужно было выделить папки с файлом desctop.ini, в другом
descript.ion, в третьем... Возможно это сделать можно скриптом с параметром <файл> |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
|
Back to top |
|
|
Andrey_A
Joined: 10 Apr 2009 Posts: 394 Location: Сочи
|
(Separately) Posted: Fri Dec 18, 2009 17:33 Post subject: |
|
|
Скрипт на который дана ссылка, помечает файлы\папки из файл листа
А мне этот файл-лист неизвестен.
В моём случае есть папки, а в некоторых из них находится файл к примеру File.txt, мне необходимо проверить в каких папках есть этот файл и их выделить
Или я что-то недопонял, Batya наведи пожалуйста на мысль
Может быть ссылка неверная? У меня есть скрипт, по-моему от тебя Batya, где ищутся, помечаются папки, в которых есть определённый ТИП файла, вот если бы его подделать, и чтобы он искал не ТИП, а сам ФАЙЛ |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Mon Dec 21, 2009 00:38 Post subject: |
|
|
У меня же в шапке скрипта написано:
Quote: | будет возвращать признак наличия файла\каталога в указанном файле-списке |
Может я сам чего-то не понял?
Нужно внести в файл-лист твой ФАЙЛ. Например, вносишь "desctop.ini". Настраиваешь схему подцветки на возвращение у плагина полем Result значения 1. Теперь будут подцвечиваться папки, которые содержат файл "desctop.ini". Разве не это надо? _________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
Andrey_A
Joined: 10 Apr 2009 Posts: 394 Location: Сочи
|
(Separately) Posted: Mon Dec 21, 2009 22:31 Post subject: |
|
|
Что-то у меня никогда не было таких проблем с vbs скриптами как с этим. Я тоже думаю, что всё просто, но понять не могу, где ошибаюсь
Ещё раз то, что я делаю
1.Создал папку Script_FileList
2.В папке 4 файла Script_FileList.wdx, FileList.vbs, FileList.txt, script.ini
3.script.ini изменил
Code: | [Script]
Section=General
[General]
Script=FileList.vbs
LongName=1
[Defaults]
LongName=1
ParseDirs=0 |
4.Добавил плагин к плагинам
5.Составляю шаблон: script_filelist.Result contains 1
6.Куда бы не вставлял шаблон(в поиск, в выделение, в цвет...), результата нет
Подкажи, где собака порылась? |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Tue Dec 22, 2009 12:34 Post subject: |
|
|
Andrey_A
Добавь в секцию General:
_________________ Нет, я не сплю. Я просто медленно моргаю. |
|
Back to top |
|
|
Andrey_A
Joined: 10 Apr 2009 Posts: 394 Location: Сочи
|
(Separately) Posted: Tue Dec 22, 2009 20:21 Post subject: |
|
|
К сожалению это не помогло, пишет Такие файлы не найдены.
Может кто-нибудь выложет эти четыре файла свои, чтобы сравнить, если кто тестил откликнетесь |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Wed Dec 23, 2009 01:06 Post subject: |
|
|
Andrey_A
Хм... Опять впопыхах дал неправильный ответ.
Скрипт вот такой:
Code: | '========== Изменяемые параметры ===========================================
Const FileList = "C:\FileList.txt" 'Файл-список
'===========================================================================
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemObject")
Const ForReading = 1
content = Result
Function Result
Dim List, f
Result = 0
If Not FSO.FolderExists(filename) Then Exit Function
If Not FSO.FileExists(FileList) Then Exit Function
On Error Resume Next
List = FSO.OpenTextFile(FileList, ForReading, False).ReadAll
If Err.Number <> 0 Then Exit Function
On Error GoTo 0
For Each f In Split(List, vbNewLine)
If f <> "" Then If FSO.FileExists(filename & "\" & f) Then Result = 1
Next
End Function |
script.ini:
Code: | [Script]
Section=General
[General]
ParseDirs=1
Script=General.vbs |
Соответственно, если в файле "C:\FileList.txt" содержится, например, script.ini, то для папки, содержащей этот файл вернется 1, иначе 0.
Last edited by Batya on Wed Dec 23, 2009 10:22; edited 1 time in total |
|
Back to top |
|
|
Andrey_A
Joined: 10 Apr 2009 Posts: 394 Location: Сочи
|
(Separately) Posted: Wed Dec 23, 2009 02:03 Post subject: |
|
|
Хотел уже ответить, что работает, но увы результат тот же... нет
Кстати я уже все скрипты, которые нашёл для Script... установил и все как-то работают, но с этим либо реакция 0 на всё (на папки, файлы), либо: "такие файлы не найдены" |
|
Back to top |
|
|
Вахмурка
Joined: 27 Dec 2004 Posts: 2584 Location: Большая деревня Москва
|
|
Back to top |
|
|
VadiMGP
Joined: 21 Mar 2007 Posts: 1625
|
(Separately) Posted: Wed Dec 23, 2009 02:24 Post subject: |
|
|
Andrey_A
Попробуй плагин Filemask. |
|
Back to top |
|
|
Andrey_A
Joined: 10 Apr 2009 Posts: 394 Location: Сочи
|
(Separately) Posted: Wed Dec 23, 2009 03:13 Post subject: |
|
|
Вахмурка wrote: | Попробуй, может, с PowerPro больше повезет. Сцыла выше. |
Выдаёт ошибку Code: | Invalid use of period: cannot load plugin,
invalid handle value, or invalid function: ini
Error occurred near line 6 of script DirColor: l
ocal Masks = ini.enum_keys(IniFile, "Colors")
Press Cancel to end all running scripts. |
Ктати в PowerPro появилась возможность убирать "висячесть" программы в трей? |
|
Back to top |
|
|
Andrey_A
Joined: 10 Apr 2009 Posts: 394 Location: Сочи
|
(Separately) Posted: Wed Dec 23, 2009 03:33 Post subject: |
|
|
VadiMGP wrote: |
Попробуй плагин Filemask. | Спасибо огромное - получичось почти с первого раза |
|
Back to top |
|
|
Batya
Joined: 15 Dec 2004 Posts: 2218 Location: Москва, Россия
|
(Separately) Posted: Wed Dec 23, 2009 10:08 Post subject: |
|
|
Andrey_A
Поправил скрипт.
У меня в General.vbs много чего написано. Когда выкладывал итог сюда, удалил случайно лишнюю строку "Const ForReading = 1"
Сейчас проверил именно на этом General.vbs. Всё работает. |
|
Back to top |
|
|
|