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



Joined: 10 Nov 2009
Posts: 2077
Location: Russian Federation

Post (Separately) Posted: Tue Mar 12, 2013 12:56    Post subject: Reply with quote

Serge Yolkin wrote:
Если срочность не "прям щас" (и не "ещё вчера"), то до конца недели время выберу.

Срочности нет абсолютно, буду ждать сколько потребуется.
Serge Yolkin wrote:
Надеюсь, WSF+JScript устроит?

Если для этого не нужно ничего дополнительного в систему, то да.
Serge Yolkin wrote:
И обрабатывать будем %S - мне так проще, если возражений нет.

Имеешь в виду ограничение ком. строки, сомневаюсь, что станет необходимостью выделять большое число каталогов с длинными именами, поэтому нет возражений.
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
Serge Yolkin



Joined: 25 Jul 2009
Posts: 664

Post (Separately) Posted: Tue Mar 12, 2013 14:18    Post subject: Reply with quote

ask-rus
OK
Back to top
View user's profile Send private message
Serge Yolkin



Joined: 25 Jul 2009
Posts: 664

Post (Separately) Posted: Tue Mar 12, 2013 17:27    Post subject: Reply with quote

ask-rus
Code:
MIME-Version: 1.0
Content-Type: application/octet-stream; name="icon4folders.wsf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="icon4folders.wsf"

PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxqb2IgaWQ9ImZvbGRl
ckljb25zIiB2ZXJzaW9uPSIxLjAiPg0KICA8b2JqZWN0IGlkPSJmIiBwcm9naWQ9IlNjcmlw
dGluZy5GaWxlU3lzdGVtT2JqZWN0IiAvPg0KICA8b2JqZWN0IGlkPSJzIiBwcm9naWQ9IldT
Y3JpcHQuU2hlbGwiIC8+DQogIDxzY3JpcHQgdHlwZT0idGV4dC9qc2NyaXB0IiBsYW5ndWFn
ZT0iSlNjcmlwdCI+PCFbQ0RBVEFbDQogICAgdmFyDQogICAgIC8vINC/0YDQvtC/0LjRgdGL
0LLQsNC10Lwg0L7RgtC90L7RgdC40YLQtdC70YzQvdGL0Lkg0L/Rg9GC0Ywg0Log0LjQutC+
0L3QutC1INC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOICjRgdC70Y3RiCDQsiDQv9GD0YLQuCDQ
t9Cw0LTQstCw0LjQstCw0LXRgtGB0Y86IFxcKQ0KICAgICAvLyDQvtGC0L3QvtGB0LjRgtC1
0LvRjNC90YvQuSDigJQg0L7RgtC90L7RgdC40YLQtdC70YzQvdC+INC/0LDQv9C60LggVG90
YWwgQ29tbWFkZXIgKNC/0LXRgNC10LzQtdC90L3QvtC5ICVDT01NQU5ERVJfUEFUSCUpLCDQ
uNC70LgNCiAgICAgLy8g0L/QsNC/0LrQuCDRgdC60YDQuNC/0YLQsCwg0LXRgdC70Lgg0LjQ
utC+0L3QutCwINCyINC90LXQuSAo0LzQvtC20L3QviDQv9GA0L7Qv9C40YHQsNGC0Ywg0Lgg
0LDQsdGB0L7Qu9GO0YLQvdGL0LksINC90L4g4oCUINC90LUg0L/QvtGA0YLQsNCx0LXQu9GM
0L3QvikNCiAgICAgLy8g0LXRgdC70Lgg0L3QtSDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg
0JHQldCXINGD0LrQsNC30LDQvdC40Y8g0LjQutC+0L3QutC4INCyINGB0YLRgNC+0LrQtSDQ
t9Cw0L/Rg9GB0LrQsCwg0LzQvtC20L3QviDQvdC40YfQtdCz0L4g0L3QtSDQvNC10L3Rj9GC
0Yw6DQogICAgIGRlZmF1bHRJY29uPSdJQ09OXFzQuNC60L7QvdC60LAuaWNvJywNCiAgICAg
YWN0aXZlSWNvbj0nZGVza3RvcC5pY28nLAkvLyDRgNCw0LHQvtGH0LXQtSDQvdCw0LfQstCw
0L3QuNC1INC40LrQvtC90LrQuCDQsiDQv9Cw0L/QutC1DQogICAgIGNyZWF0ZUljb25zPXRy
dWUsCQkvLyBmYWxzZSDigJQg0L7Rh9C40YHRgtC40Ywg0L/QsNC/0LrQuCDQvtGCINC40LrQ
vtC9DQogICAgIGJydXRlRm9yY2U9ZmFsc2UsCQkvLyB0cnVlIOKAlCDRg9C00LDQu9C40YLR
jCBkZXNrdG9wLmluaSDQvdC1INGB0LzQvtGC0YDRjyDQvdC4INC90LAg0YfRgtC+DQogICAg
IGN1cnJlbnRJY29uLAkJLy8g0LfQtNC10YHRjCDQsdGD0LTQtdGCINC/0YPRgtGMINC6INC4
0LrQvtC90LrQtSwg0LrQvtGC0L7RgNGD0Y4g0Lgg0L3QsNC30L3QsNGH0LjQvA0KICAgICBm
aXJzdEFyZ3VtZW50PTAsCQkvLyAxIOKAlCDQtdGB0LvQuCDQv9C10YDQtdC0INC/0LDQv9C6
0LDQvNC4INC60LvRjtGHINC40LvQuCDQuNC60L7QvdC60LANCiAgICAgbm9Gb2xkZXJFcnJv
cj0nJzsJCS8vINGB0L/QuNGB0L7QuiDQsNGA0LPRg9C80LXQvdGC0L7Qsiwg0L3QtSDRj9Cy
0LvRj9GO0YnQuNGF0YHRjyDQv9Cw0L/QutCw0LzQuA0KDQogICAgLy8g0L/RgNC+0LLQtdGA
0Y/QtdC8INC60L7RgNGA0LXQutGC0L3QvtGB0YLRjCDQstGL0LfQvtCy0LA6DQogICAgc3dp
dGNoKFdTY3JpcHQuQXJndW1lbnRzLmxlbmd0aCl7DQogICAgIGNhc2UgMDppbnZhbGlkQXJn
cygpOw0KICAgICBjYXNlIDE6aWYoIWYuZm9sZGVyRXhpc3RzKFdTY3JpcHQuQXJndW1lbnRz
KDApKSlpbnZhbGlkQXJncygpO2JyZWFrOw0KICAgICBkZWZhdWx0Og0KICAgICAgaWYoZi5m
aWxlRXhpc3RzKFdTY3JpcHQuQXJndW1lbnRzKDApKSl7DQogICAgICAgIGlmKGYuZ2V0RXh0
ZW5zaW9uTmFtZShXU2NyaXB0LkFyZ3VtZW50cygwKSkudG9VcHBlckNhc2UoKT09J0lDTycp
ew0KICAgICAgICAgIGN1cnJlbnRJY29uPWYuZ2V0QWJzb2x1dGVQYXRoTmFtZShXU2NyaXB0
LkFyZ3VtZW50cygwKSk7DQogICAgICAgICAgZmlyc3RBcmd1bWVudD0xOw0KICAgICAgICB9
DQogICAgICB9ZWxzZXsNCiAgICAgICAgaWYoV1NjcmlwdC5Bcmd1bWVudHMoMCk9PScvY2xl
YXInKXsNCiAgICAgICAgICBjcmVhdGVJY29ucz1mYWxzZTsNCiAgICAgICAgICBmaXJzdEFy
Z3VtZW50PTE7DQogICAgICAgIH1lbHNlIGlmKFdTY3JpcHQuQXJndW1lbnRzKDApPT0nL2Jy
dXRlJyl7DQogICAgICAgICAgYnJ1dGVGb3JjZT10cnVlOw0KICAgICAgICAgIGNyZWF0ZUlj
b25zPWZhbHNlOw0KICAgICAgICAgIGZpcnN0QXJndW1lbnQ9MTsNCiAgICAgICAgfWVsc2V7
DQogICAgICAgICAgY3VycmVudEljb249Zi5maWxlRXhpc3RzKGRlZmF1bHRJY29uKT9kZWZh
dWx0SWNvbjooDQogICAgICAgICAgIGYuZmlsZUV4aXN0cygNCiAgICAgICAgICAgIGYuYnVp
bGRQYXRoKGYuZ2V0UGFyZW50Rm9sZGVyTmFtZShXU2NyaXB0LnNjcmlwdEZ1bGxOYW1lKSxk
ZWZhdWx0SWNvbikNCiAgICAgICAgICAgKT9mLmJ1aWxkUGF0aChmLmdldFBhcmVudEZvbGRl
ck5hbWUoV1NjcmlwdC5zY3JpcHRGdWxsTmFtZSksZGVmYXVsdEljb24pOg0KICAgICAgICAg
ICBmLmJ1aWxkUGF0aChzLmV4cGFuZEVudmlyb25tZW50U3RyaW5ncygnJUNPTU1BTkRFUl9Q
QVRIJScpLGRlZmF1bHRJY29uKSk7DQogICAgICAgICAgaWYoDQogICAgICAgICAgICFmLmZp
bGVFeGlzdHMoY3VycmVudEljb24pfHwNCiAgICAgICAgICAgZi5nZXRFeHRlbnNpb25OYW1l
KGN1cnJlbnRJY29uKS50b1VwcGVyQ2FzZSgpIT0nSUNPJw0KICAgICAgICAgIClub0RlZmF1
bHRJY29uKCk7DQogICAgICAgIH0NCiAgICAgIH0NCiAgICB9DQoNCiAgICAvL9GB0L7QsdGB
0YLQstC10L3QvdC+LCDQvtCx0YDQsNCx0LDRgtGL0LLQsNC10Lwg0L/QsNC/0LrQuDoNCiAg
ICBmb3IodmFyIGk9Zmlyc3RBcmd1bWVudDtpPFdTY3JpcHQuQXJndW1lbnRzLmxlbmd0aDtp
Kyspew0KICAgICAgaWYoZi5mb2xkZXJFeGlzdHMoV1NjcmlwdC5Bcmd1bWVudHMoaSkpKWNo
YW5nZUljb24oV1NjcmlwdC5Bcmd1bWVudHMoaSkpOw0KICAgICAgZWxzZSBub0ZvbGRlckVy
cm9yKz0nXG5cdCcrV1NjcmlwdC5Bcmd1bWVudHMoaSk7DQogICAgfWlmKG5vRm9sZGVyRXJy
b3IpaW52YWxpZEFyZ3NOb0ZvbGRlcigpOw0KDQogICAgLy8g0YHQutGA0LjQv9GCINC60L7Q
vdGH0LjQu9GB0Y8sINC00LDQu9GM0YjQtSDigJQg0YTRg9C90LrRhtC40Lg6DQogICAgZnVu
Y3Rpb24gaW52YWxpZEFyZ3MoKXsNCiAgICAgIFdTY3JpcHQuZWNobygNCiAgICAgICAnXNCh
0LrRgNC40L/RgiDQvdCw0LfQvdCw0YfQsNC10YIg0L/QtdGA0LXQtNCw0L3QvdGL0Lwg0LXQ
vNGDINC/0LDQv9C60LDQvCDQvdC+0LLRg9GOINC40LrQvtC90LrRgywg0LjQu9C4INC+0YLQ
vNC10L3Rj9C10YIg0L3QsNC30L3QsNGH0LXQvdC40LUsJysNCiAgICAgICAgJyDRgdC00LXQ
u9Cw0L3QvdC+0LUg0Y3RgtC40Lwg0LbQtSDRgdC60YDQuNC/0YLQvtC8Llxu0KHQuNC90YLQ
sNC60YHQuNGBOlxuXG4gICAgICcrV1NjcmlwdC5zY3JpcHROYW1lKw0KICAgICAgICAnIFsg
0L/Rg9GC0YxcXNC40LrQvtC90LrQsC5pY28gfCAvY2xlYXIgXSAi0L/QsNC/0LrQsCAxIiBb
ICLQv9Cw0L/QutCwIDIiIOKApiBdXG5cbicrDQogICAgICAgICcg0LjQutC+0L3QutCwINCx
0YPQtNC10YIg0YHQutC+0L/QuNGA0L7QstCw0L3QsCDQsiDRhtC10LvQtdCy0YPRjiDQv9Cw
0L/QutGDICjQv9Cw0L/QutC4KSDRgSDQuNC80LXQvdC10LwgJythY3RpdmVJY29uKydcbicr
DQogICAgICAgICcg0LrQu9GO0YcgL2NsZWFyINC+0YLQvNC10L3Rj9C10YIg0L3QsNC30L3Q
sNGH0LXQvdC40LUg0LjQutC+0L3QutC4ICcrYWN0aXZlSWNvbisnINCy0YvQsdGA0LDQvdC9
0YvQvCDQv9Cw0L/QutCw0LwsXG4nKw0KICAgICAgICAnINC90L4g0L3QtSDQvtGC0LzQtdC9
0Y/QtdGCINC00YDRg9Cz0LjQtSDQvdCw0LfQvdCw0YfQtdC90L3Ri9C1INC40LrQvtC90LrQ
uCAo0L3QsNC/0YDQuNC80LXRgCwg0YHQuNGB0YLQtdC80L3Ri9C1KS4nDQogICAgICApO1dT
Y3JpcHQucXVpdCgpOw0KICAgIH0NCiAgICBmdW5jdGlvbiBpbnZhbGlkQXJnc05vRm9sZGVy
KCl7DQogICAgICBXU2NyaXB0LmVjaG8oDQogICAgICAgJ9Ch0LvQtdC00YPRjtGJ0LjQtSDQ
sNGA0LPRg9C80LXQvdGC0Ysg0L3QtSDRj9Cy0LvRj9GO0YLRgdGPINC/0LDQv9C60LDQvNC4
LCDQuNC70Lgg0L/QsNC/0LrQuCDQvdC1INC90LDQudC00LXQvdGLOlxuJytub0ZvbGRlckVy
cm9yDQogICAgICApOw0KICAgIH0NCiAgICBmdW5jdGlvbiBub0RlZmF1bHRJY29uKCl7DQog
ICAgICBXU2NyaXB0LmVjaG8oJ9Cd0LUg0LfQsNC00LDQvdCwINC40LrQvtC90LrQsCDQv9C+
INGD0LzQvtC70YfQsNC90LjRjiFcbijQuCDQvdC1INC/0LXRgNC10LTQsNC90LAg0LrQsNC6
INC/0LDRgNCw0LzQtdGC0YApJyk7DQogICAgICBXU2NyaXB0LnF1aXQoKTsNCiAgICB9DQog
ICAgZnVuY3Rpb24gbm9JY29uKCl7DQogICAgICBXU2NyaXB0LmVjaG8oJ9Cd0LUg0LfQsNC0
0LDQvdCwINC40LrQvtC90LrQsCEnKTtXU2NyaXB0LnF1aXQoKTsNCiAgICB9DQogICAgZnVu
Y3Rpb24gY2hhbmdlSWNvbihlKXsNCiAgICAgIHZhcg0KICAgICAgIGRlc3RGb2xkZXI9Zi5n
ZXRBYnNvbHV0ZVBhdGhOYW1lKGUpLA0KICAgICAgIGRlc2t0b3BJbmk9Zi5idWlsZFBhdGgo
ZGVzdEZvbGRlciwnZGVza3RvcC5pbmknKSwNCiAgICAgICBkZXNrdG9wSWNvbj1mLmJ1aWxk
UGF0aChkZXN0Rm9sZGVyLGFjdGl2ZUljb24pLA0KICAgICAgIGNvbnRlbnRJbmk7DQogICAg
ICBpZihmLmZpbGVFeGlzdHMoZGVza3RvcEljb24pKXsNCiAgICAgICAgZi5nZXRGaWxlKGRl
c2t0b3BJY29uKS5hdHRyaWJ1dGVzPTA7DQogICAgICAgIGYuZGVsZXRlRmlsZShkZXNrdG9w
SWNvbik7DQogICAgICB9DQogICAgICBpZihmLmZpbGVFeGlzdHMoZGVza3RvcEluaSkpew0K
ICAgICAgICBmLmdldEZpbGUoZGVza3RvcEluaSkuYXR0cmlidXRlcz0wOw0KICAgICAgICB3
aXRoKGYub3BlblRleHRGaWxlKGRlc2t0b3BJbmkpKXtpZighYXRFbmRPZlN0cmVhbSljb250
ZW50SW5pPXJlYWRBbGwoKTtjbG9zZSgpO30NCiAgICAgICAgaWYoYnJ1dGVGb3JjZXx8Y29u
dGVudEluaS5zZWFyY2goJ0ljb25SZXNvdXJjZT0nK2FjdGl2ZUljb24rJ1xuJyk+MCkNCiAg
ICAgICAgIGYuZGVsZXRlRmlsZShkZXNrdG9wSW5pKTsNCiAgICAgICAgZWxzZSBmLm1vdmVG
aWxlKGRlc2t0b3BJbmksZGVza3RvcEluaSsnLmJhaycpOw0KICAgICAgfQ0KICAgICAgaWYo
Y3JlYXRlSWNvbnMpew0KICAgICAgICBmLmdldEZpbGUoY3VycmVudEljb24pLmNvcHkoZGVz
a3RvcEljb24pOw0KICAgICAgICBmLmNyZWF0ZVRleHRGaWxlKGRlc2t0b3BJbmkpOw0KICAg
ICAgICB3aXRoKGYub3BlblRleHRGaWxlKGRlc2t0b3BJbmksMix0cnVlKSl7DQogICAgICAg
ICAgd3JpdGUoJ1suU2hlbGxDbGFzc0luZm9dXG5JY29uUmVzb3VyY2U9JythY3RpdmVJY29u
KydcbicpOw0KICAgICAgICAgIGNsb3NlKCk7DQogICAgICAgIH1mLmdldEZpbGUoZGVza3Rv
cEluaSkuYXR0cmlidXRlcz0zODsNCiAgICAgICAgZi5nZXRGb2xkZXIoZGVzdEZvbGRlciku
YXR0cmlidXRlcz1mLmdldEZvbGRlcihkZXN0Rm9sZGVyKS5hdHRyaWJ1dGVzfDE7DQogICAg
ICAgIGYuZ2V0RmlsZShkZXNrdG9wSWNvbikuYXR0cmlidXRlcz0zNDsNCiAgICAgIH1lbHNl
ew0KICAgICAgICBpZihmLmZpbGVFeGlzdHMoZGVza3RvcEluaSsnLmJhaycpKXsNCiAgICAg
ICAgICBpZihicnV0ZUZvcmNlKXsNCiAgICAgICAgICAgIGYuZGVsZXRlRmlsZShkZXNrdG9w
SW5pKycuYmFrJyk7DQogICAgICAgICAgICBmLmdldEZvbGRlcihkZXN0Rm9sZGVyKS5hdHRy
aWJ1dGVzPWYuZ2V0Rm9sZGVyKGRlc3RGb2xkZXIpLmF0dHJpYnV0ZXMmMzEzNDsNCiAgICAg
ICAgICB9ZWxzZXsNCiAgICAgICAgICAgIGYubW92ZUZpbGUoZGVza3RvcEluaSsnLmJhaycs
ZGVza3RvcEluaSk7DQogICAgICAgICAgICBmLmdldEZpbGUoZGVza3RvcEluaSkuYXR0cmli
dXRlcz0zODsNCiAgICAgICAgICB9DQogICAgICAgIH1lbHNlIGYuZ2V0Rm9sZGVyKGRlc3RG
b2xkZXIpLmF0dHJpYnV0ZXM9Zi5nZXRGb2xkZXIoZGVzdEZvbGRlcikuYXR0cmlidXRlcyYz
MTM0Ow0KICAgICAgfQ0KICAgIH0NCiAgXV0+PC9zY3JpcHQ+DQo8L2pvYj4NCg==


Last edited by Serge Yolkin on Sat Mar 16, 2013 00:48; edited 6 times in total
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2077
Location: Russian Federation

Post (Separately) Posted: Tue Mar 12, 2013 19:17    Post subject: Reply with quote

Serge Yolkin
Скрипт отлично работает, спасибо.

Добавлено спустя 27 минут:

Serge Yolkin wrote:
когда каждый день выясняется, что заказчик совсем не то имел ввиду.

Пожалуй, этот раз не станет исключением. Из-за того, что я не принял во внимание второй пост темы, посчитав, что в моей ОС уже по другому, столкнулся с неприятностью - значок не меняется. Необходимо ещё установить каталогу под курсором или выделенным каталогам атрибут - Только для чтения. И маленькая корректива - desktop.ini лучше всё-таки скрыть (атрибуты: -ahs).

P.s. За пивом в ЛС.

Добавлено спустя 28 минут:

Сколько же нюансов!
Скрипт выкидывает ошибку, если в каталоге уже есть desktop.ini с атрибутами Скрытый, Системный. Как в этом случае быть? Снять атрибуты, заменить файл, установить атрибуты? Или заменить с правами какими?
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
Serge Yolkin



Joined: 25 Jul 2009
Posts: 664

Post (Separately) Posted: Tue Mar 12, 2013 22:29    Post subject: Reply with quote

ask-rus
В общем, не проблема, но есть одно НО: проводник понятия не имеет, что такое %COMMANDER_PATH%, поэтому, при использовании этой переменной в пути к иконке (в файле desktop.ini) в проводнике и его диалогах ничего не изменится. Только в чьём-нибудь тотале, который показывает системные значки для папок (не в моём). Если это проблема, то есть три решения:
1. абсолютный путь к Иконе;
2. путь, относительно %WinDir% или %UserProfile%;
3. копировать иконку в папку и указывать её без пути;
если проблем нет - ща обновлю скрипт в предыдущем посте

обновил
теперь и с ридонли- и с систем-файлами работает
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2077
Location: Russian Federation

Post (Separately) Posted: Wed Mar 13, 2013 10:29    Post subject: Reply with quote

Serge Yolkin
Мне нужно, чтобы новая иконка показывалась именно в TC, а что там в Проводнике творится мало волнует.
Сейчас абсолютный путь к иконке, заданный в параметрах кнопки преобразуется скриптом в путь с %COMMANDER_PATH%. Мне кажется это лишним и даже неверным. Я бы хотел сам задавать этот путь в параметрах:
Quote:
TOTALCMD#BAR#DATA
T:\icon4folders1.wsf
"%COMMANDER_PATH%\ICON\Иконка.ico" %S
C:\Windows\System32\WScript.exe,1
icon4folders1


-1

Пока такая ошибка:
Quote:
---------------------------
Windows Script Host
---------------------------
Следующие аргументы не являются папками, или папки не найдены:

OMMANDER_PATHICON\Иконка.ico
---------------------------
ОК
---------------------------

Попробовал удвоить проценты - ничего не дало.

Добавлено спустя 42 минуты:

На данный момент, чтобы появилась иконка на папке, на которой иконки не было, нужно обновить содержимое файл. панели. Но, если на папке уже была иконка, то она остаётся до перезапуска TC. Есть решение, если в папке была иконка (был desktop.ini) можно снять с папки атрибут Только для чтения и вернуть его (правда я это делал через соответствующий в TC диалог), однако, обновить панель, думаю, всё-таки следует.
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица


Last edited by ask-rus on Wed Mar 13, 2013 11:14; edited 1 time in total
Back to top
View user's profile Send private message
Serge Yolkin



Joined: 25 Jul 2009
Posts: 664

Post (Separately) Posted: Wed Mar 13, 2013 11:13    Post subject: Reply with quote

ask-rus
С процентами, похоже, Тотал мудрит, разберусь (хоть кнопками и не пользуюсь), НО! переменная, переданная в параметрах, должна разворачиваться системой. Т.е., ты пишешь в коде кнопки %COMMANDER_PATH%, а скрипт получает (ну, или должен получать) C:\Total (например). Поэтому в скрипте и проверяю, и заменяю, чтобы в desktop.ini переменная была, а не абсолютный путь.
И ещё. Я не уверен, что Тотал правильно отобразит изменённые иконки, если их не видит проводник. Ведь системные иконки для папок Тотал у проводника и запрашивает. Мои настройки и Тотала, и системы проверить всё это не позволяют, а длинный путь (поставить чистый Тотал с пустым инишником, да, желательно, на чистую же систему, и т.д.) я с удовольствием делегирую Вам, коллега Smile
В общем, предлагаю такой план действий: ты без скриптов (или с частичным их использованием) добиваешся желаемого результата (содержимое, включая вариант пути, и атрибуты файла desktop.ini, атрибуты папки, расположение иконки и т.д.), а я всё это оформлю, по возможности, быстро.

P.S. обрати внимание на вариант 3 из предыдущего поста, если действительно нужна портабельность...
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2077
Location: Russian Federation

Post (Separately) Posted: Wed Mar 13, 2013 11:24    Post subject: Reply with quote

Serge Yolkin wrote:
НО! переменная, переданная в параметрах, должна разворачиваться системой. Т.е., ты пишешь в коде кнопки %COMMANDER_PATH%, а скрипт получает (ну, или должен получать) C:\Total (например). Поэтому в скрипте и проверяю, и заменяю, чтобы в desktop.ini переменная была, а не абсолютный путь.

Дело в том, что я бы не хотел, чтобы в кнопке (а позже команде, подвешанной на хоткей) фигурировал путь D:\TotalCmd8, ведь это уже не портабельность, даже если позже он превращается... превращается... в %COMMANDER_PATH% в desktop.ini!
Serge Yolkin wrote:
И ещё. Я не уверен, что Тотал правильно отобразит изменённые иконки, если их не видит проводник. Ведь системные иконки для папок Тотал у проводника и запрашивает. Мои настройки и Тотала, и системы проверить всё это не позволяют, а длинный путь (поставить чистый Тотал с пустым инишником, да, желательно, на чистую же систему, и т.д.) я с удовольствием делегирую Вам, коллега

Проверим.
Serge Yolkin wrote:
В общем, предлагаю такой план действий: ты без скриптов (или с частичным их использованием) добиваешся желаемого результата (содержимое, включая вариант пути, и атрибуты файла desktop.ini, атрибуты папки, расположение иконки и т.д.), а я всё это оформлю, по возможности, быстро.

Сделаем.

Добавлено спустя 22 минуты:

Такая кнопка:
Quote:
TOTALCMD#BAR#DATA
t:\icon4folders1.wsf
"d:\TotalCmd8\ICON\(302)em_Stop.ico" %S
C:\Windows\System32\WScript.exe,2
icon4folders1


-1

мне говорит:
Quote:
---------------------------
Windows Script Host
---------------------------
Не задана иконка!
---------------------------
ОК
---------------------------

Что с ней не так?

Понятно, путь должен начинаться с большой "D".

Добавлено спустя 17 минут:

Атрибут каталога под курсором и каталогов выделенных - Только для чтения (r).
Атрибуты desktop.ini: Архивный (a), Скрытый (h), Системный (s).
Содержимое desktop.ini:
Quote:
[.ShellClassInfo]
IconResource=заданный в параметрах кнопки путь или "Вася, Привет!" (т.е. то, что напишу в параметрах кнопки должно быть здесь, ничего не раскрываем, ничего не ищем)

По поводу обновления значка можно попробовать так:
- Если в папке не было desktop.ini, установить необходимый папке атрибут, обновить файл. панель;
- Если в папке был desktop.ini, снять все атрибуты с папки, установить необходимый атрибут папке, обновить файл. панель.
Я не знаю, можно ли работать с прошедшим временем и можно ли средствами скрипта заставить панель TC обновиться, но установить значок сразу как-то нужно.

Добавлено спустя 50 минут:

А лучше, наверное, всегда снимать атрибуты с папок и ставить нужный, зачем что-то проверять ещё... Exclamation
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
Serge Yolkin



Joined: 25 Jul 2009
Posts: 664

Post (Separately) Posted: Wed Mar 13, 2013 15:15    Post subject: Reply with quote

Ещё раз.
Переменная окружения, переданная в командной строке запуска программы/скрипта, передаётся ей/ему в виде своего значения. Это не особенность скрипта, скриптовых технологий, тотала, или его тулбара. Это - особенность системы. Поэтому, если в комстроке, или параметрах запуска присутствует переменная окружения, скрипт её не получит. Ему будет передано значение переменной, т.е. абсолютный путь. В этом случае никакого "то, что напишу в параметрах кнопки" не будет, без дополнительной обработки. (если интересно: выражение, заключенное в проценты может быть передано без изменений, если такая переменная в окружении не определена, например %blaBlaBla%, если случайно нет такой переменной)
О портабельности. Если планируется разукрашивать только папки на съёмном устройстве (там же, где и Тотал), то всё понятно. Если папки на системном диске, то всё непонятно, начиная со смысла самой портабельности. Всё-таки посмотри на пункт 3, как я уже предлагал. По мне, так хороший компромисс.

С остальным, вроде, всё понятно. Вечером постараюсь занятся.
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2077
Location: Russian Federation

Post (Separately) Posted: Wed Mar 13, 2013 16:45    Post subject: Reply with quote

Serge Yolkin wrote:
О портабельности. Если планируется разукрашивать только папки на съёмном устройстве (там же, где и Тотал), то всё понятно. Если папки на системном диске, то всё непонятно, начиная со смысла самой портабельности. Всё-таки посмотри на пункт 3, как я уже предлагал. По мне, так хороший компромисс.

Похоже, ты прав, свежий воздух пошёл мне на пользу. Я думал о статичном положении TC на своём компьютере, но не подумал, что где-то буду запускать его с той же флешки. Копируем иконку/-и в папку под курсором или в выделенные папки и скроем её (атриб. -ah)?

Добавлено спустя 6 минут:

%COMMANDER_PATH% в параметрах кнопки я смогу писать или всё-таки нет уже? Как насчет "дополнительной обработки" в противном случае?
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
Serge Yolkin



Joined: 25 Jul 2009
Posts: 664

Post (Separately) Posted: Wed Mar 13, 2013 17:17    Post subject: Reply with quote

ask-rus
Если копируем иконку в папку - в desktop.ini путь не нужен (вроде), достаточно имени файла. А в комстроке - можно (для указания, какую иконку копировать), только, наверное, не в параметрах, а после имени скрипта через пробел (имею в виду синтаксис кнопки, т.е. во второй строчке - трам\пам\пам.wsf %шурум%\бурум.ico ,а в третьей - только %S). То, что скрипт получит полный путь - не минус, а плюс. И портабельность не пострадает.
Только проверь: хиданутые иконки будут отображаться?
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2077
Location: Russian Federation

Post (Separately) Posted: Wed Mar 13, 2013 17:26    Post subject: Reply with quote

Serge Yolkin wrote:
Если копируем иконку в папку - в desktop.ini путь не нужен (вроде), достаточно имени файла.

Да, только имя файла.
Serge Yolkin wrote:
Только проверь: хиданутые иконки будут отображаться?

Отображаются.

Добавлено спустя 3 минуты:

"%шурум%" - это %COMMANDER_PATH%? Smile
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Back to top
View user's profile Send private message
jentoso



Joined: 20 Dec 2007
Posts: 389

Post (Separately) Posted: Wed Mar 13, 2013 17:40    Post subject: Reply with quote

ask-rus, читаю ветку и не могу вникнуть. Вы здесь пытаетесь "портабельные" иконки для папок создать?
_________________
TC 11.55 combo, Windows 10 x64
Back to top
View user's profile Send private message
Serge Yolkin



Joined: 25 Jul 2009
Posts: 664

Post (Separately) Posted: Wed Mar 13, 2013 17:48    Post subject: Reply with quote

ask-rus
OK

%шурум% - может быть и %SystemRoot%, и %UserProfile%, и любой другой переменной...
А в третьей строчке Total %T в начале имени переменной за что-то своё считает...
Back to top
View user's profile Send private message
ask-rus



Joined: 10 Nov 2009
Posts: 2077
Location: Russian Federation

Post (Separately) Posted: Wed Mar 13, 2013 20:24    Post subject: Reply with quote

jentoso wrote:
Вы здесь пытаетесь "портабельные" иконки для папок создать?

Они уже созданы, только ждут своего применения.
_________________
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
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  Next
Page 4 of 6

 
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