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

Необходим скрипт для смены значка папки одним кликом

Добавлено: Пт апр 10, 2009 07:03
Andrey_A
Уважаемые СКРИПТОТОТАЛЬЩИКИ подскажите выход из такой ситуации.
Задача: В ТЕКУЩЕЙ ПАНЕЛИ НЕОБХОДИМО КАЖДОЙ ВЫДЕЛЕННОЙ ПАПКЕ
В ОТДЕЛЬНОСТИ ПРИКРЕПИТЬ ИНДИВИДУАЛЬНЫЙ ЗНАЧОК, НАХОДЯЩИЙСЯ
КАЖДЫЙ В СВОЕЙ ПАПКЕ (значок exe или ico файла).
Виртуальный пример: есть папка программы PROG,
в ней соответственно есть запускающий PROGGO.EXE ,
мне нужно, чтобы папка PROG светилась значком PROGGO.EXE,
таких папок как описано выше немало, а вручную всё это делать надоело

Вручную, кто не знает, приходится делать много телодвижений:
1. Выделить полный путь к PROGGO.EXE,
2. Выйти в родительский коталог (т.е поставить курсор на папку PROG)
3. Нажать правой кнопкой мыши
4. Вызвать команду"Свойство"
5. Переключиться в "Настройка"
6. Нажать "Сменить значок"
7. Ввести скопированный путь к PROGGO.EXE
8,9,10 Несколько раз нажать на OK, а если таких папок 100...

Кто-то может спросить: А какая ЦЕЛЬ:
1 Эстетическая - если на папке значок - это ускоряет визуальный поиск
2.Мне приходится "сканировать" много папок...тысячи...с разными данными,
чтобы знать в какую папку мне больше заходить не надо (т.е уже просмотренную)
лучшим для себя методом я нашёл следующее:
во все папки предварительно копируется файл нужного значка.ico
и при окончании работы с папкой я её помечаю - вешая на неё значок...
И красиво, и понятно, и виден наглядный итог работы.
В конце дня накапливается много готовых папок - вот бы одной кнопкой,
одним кликом повесить все иконки на эти папки
...много текста, извините, наболело! С уважением Андрей А А

[mod="CaptainFlint"]Нарушение п. 9 правил. Со скриптами в "Автоматизацию".[/mod]

Добавлено: Пт апр 10, 2009 13:52
Вахмурка
Вообще-то, написать скрипт можно. Если я правильно помню, при выполнении указанных действий в директории появляется файл desktop.ini с путем к иконке. То есть скрипт будет писать и копировать такие файлы. Это несложно. Однако:
1) Попробуй поиграться с комментариями. Например, создаешь цветовую схему "Если комментарий к директории содержит слово "читал", она красится зеленым". А для одноврменного комментирования многих директорий можно использовать мой скрипт.
2) Того же результат можно добиться, изменяя атрибуты директории, скажем "Архивный". Директории с разными атрибутами можно красить по разному.
3) Посмотри сюда - вдруг поможет?

Re: Необходим скрипт для смены значка папки одним кликом

Добавлено: Пт апр 10, 2009 16:27
mrmerak
Andrey_A писал(а):В ТЕКУЩЕЙ ПАНЕЛИ НЕОБХОДИМО КАЖДОЙ ВЫДЕЛЕННОЙ ПАПКЕ
В ОТДЕЛЬНОСТИ ПРИКРЕПИТЬ ИНДИВИДУАЛЬНЫЙ ЗНАЧОК, НАХОДЯЩИЙСЯ
КАЖДЫЙ В СВОЕЙ ПАПКЕ (значок exe или ico файла).
+1
Тоже надо.

Добавлено: Пт апр 10, 2009 16:34
DrShark
Простой скрипт, который присваивает иконку файла под курсором папке в противоположной панели.
Кнопка, подобная этой:

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

TOTALCMD#BAR#DATA
"D:\Program Files\totalcmd\Utils\TargetLNK\TargetICON.vbs"
"%T" ""%P%N""
D:\WINDOWS\System32\WScript.exe
TargetICON
D:\Program Files\totalcmd\Utils\TargetLNK\

-1
Собственно, скрипт:

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

Dim Args, WSHShell, fso, f

Set Args = WScript.Arguments
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set fso = WScript.CreateObject("Scripting.FileSystemObject")

Set f = fso.GetFolder(Args(0))
f.Attributes = f.Attributes Or 1

Set f = fso.OpenTextFile(Args(0) + "\Desktop.ini", 2, True)
 f.Write "[.ShellClassInfo]" + vbCrLf
 f.Write "IconFile=" & Args(1) + vbCrLf
 f.Write "IconIndex=0"  + vbCrLf
f.Close

Set f = fso.GetFile(Args(0) + "\desktop.ini")
f.Attributes = f.Attributes Or 2
f.Attributes = f.Attributes Or 4
Уже меньше кликов :)

Добавлено: Сб апр 11, 2009 00:28
Batya
Тема обсуждалась - Свои иконки у папок. Там же приведены скрипты, а также различное ПО для использования по теме.

Групповое назначение папкам значков

Добавлено: Вт апр 14, 2009 07:41
Andrey_A
Спасибо за подсказку ввиде скрипта, но к сожалению это не решает
вопрос группового назначения иконок группе папок. Я не думаю, что очень трудно дописать работающий скрипт, где
1. Есть вхождение в папку
2. Поиск в папке ico или exe файла
3. Запоминание адреса в буфер найденного
4. Выход обратно на родительскую папку
5. Назначение ей значка
6. Переход к следующей папке
7. И цикл повторяется
Я последовательность понимаю, но скрипты писать ещё не научился

Добавлено: Вт апр 14, 2009 14:17
Batya
Andrey_A писал(а):2. Поиск в папке ico или exe файла
По какому принципу автоматизировать этот пункт?
Я не умею искать иконки. Единственный вариант - тупо брать первый попавшийся exe-шник. Так устроит?

Групповое присвоение значков

Добавлено: Ср апр 15, 2009 00:12
Andrey_A
Первый попавшийся Exeшник в самый раз!
Заранее спасибо за помощь

Re: Групповое присвоение значков

Добавлено: Ср апр 15, 2009 06:41
Tol!k
Andrey_A писал(а):Первый попавшийся Exeшник в самый раз!
Если не найден Exeшник с именем, похожим на имя папки; и Первый попавшийся — не unins*.exe и не unwise.exe

Добавлено: Чт апр 16, 2009 19:01
Batya
Tol!k писал(а):Если не найден Exeшник с именем, похожим на имя папки; и Первый попавшийся — не unins*.exe и не unwise.exe
ОК.
Сделал в указанной выше теме - Свои иконки у папок.

Добавлено: Вт авг 15, 2023 03:12
Чиполлино
Возможно ли изменить значок одновременно у нескольких папок, на дин из значков из %SystemRoot%\System32\SHELL32.dll?.