Как я уже упоминал, на моём рабочем компе после очередного обновления винды перестали работать все "самодельные" ассоциации приложений по расширению файла. Вот такой лес, без деревьев. Офисные - пожальте, а всякие VNC, Пайтон, и медиафайлы - пошли на мороз. Хорошо хоть картинки через Пикасу открываются.
Погоревал я, и ... накатал скриптик. Ясное дело, работает он только из командной строки FAR, зато как работает! Просто загляденье. Итак, чтобы открыть автоматически ассоциированную программу надо в командной строке добавить имя бат-файла (для скорости названного AA.BAT) и закинуть ему через Ctrl+Enter файл в качестве аргумента. Всё, батничек вызывает через виндовую команду START интерпретатор Пайтона (специальную не-консольную версию) и он спокойненько открывает файл при помощи расписанного в собственной конфигурации приложения, будь то GIMP, MediaMonkey, SumatraPDF или VLC. Пара часов сидения за компом, и проблема решена, причём теперь я сам решаю, какое действие будет по умолчанию (опционально можно добавлять альтернативные действия, например "редактировать" или "распечатать").
Прикольно, но мне удалось даже решить проблему выдачи сообщений об ошибке. Я не стал чикаться с Tk под Пайтоном (технически это не сложно, но бессмысленно городить приложение ради окошка с сообщением об ошибке). Просто использовал универсальный "швейцарский нож виндовой автоматизации" - nircmd. Простой израильский парень Нир Сойфер объединил все самые часто используемые действия в сценариях работы с виндой в один экзешник. Просто прочитайте прилагаемый к нему хелп-файл и вы сходу начнёте выделывать всякие крутые штучки, не вдаваясь в хитрости программирования. У меня, например, на большом домашнем компьютере при помощи этой приблуды сделана иконка "перейти в спящий режим". Короче, будьте проще, и проблемы сами не захотят к вам приставать.
А остальные приложения я вообще положил в так называемую "панель" рядом с часиками виндовса. Просто добавил панельку правым кликом, назначив некую папочку в качестве контейнера, а потом в эту папочку накидал ярлыков нужных программ. Советую, очень удобно и работает на всех виндах.
Ну и чтобы вы не скучали, расскажу ещё одну байку, но для баланса - из мира Линуксов. ВПС получил как-то задачу: научить систему распаковывать архивы на экзотической платформе (Винда ARM64). Решение было простым - использовать пайтоновскую библиотеку, которая распаковывает хоть чёрта лысого, независимо от операционки и типа процессора. И вот, через месяц, у линуксовых групп начались проблемы: тот самый скрипт падает на распаковке архива. Что за ёперный балет, подумал я, - у всех работает, а у них - падает. Начал копать, посмотрел сообщение об ошибке и о...бомлел: архив содержал некорректные симлинки! Открываю его через less - действительно сплошные линки на самого себя, кому же такое понравится? Впрочем, штатный tar раскрывал такой архив без проблем. Пришлось искать виноватыхи наказывать непричастных. Оказалось, что при создании архива tar получил очень противоречивые аргументы - одна и та же папочка упоминалась дважды. Что же сделал этот *** умник? Создал внутри архива линки на самих себя!!! Реально, попробуйте запаковать через tar директорию и тут же вместе с ней - её поддиректорию. Получите того самого монстра. И пусть на распаковке падал только старый Пайтон2, всё равно, история не из приятных.
Погоревал я, и ... накатал скриптик. Ясное дело, работает он только из командной строки FAR, зато как работает! Просто загляденье. Итак, чтобы открыть автоматически ассоциированную программу надо в командной строке добавить имя бат-файла (для скорости названного AA.BAT) и закинуть ему через Ctrl+Enter файл в качестве аргумента. Всё, батничек вызывает через виндовую команду START интерпретатор Пайтона (специальную не-консольную версию) и он спокойненько открывает файл при помощи расписанного в собственной конфигурации приложения, будь то GIMP, MediaMonkey, SumatraPDF или VLC. Пара часов сидения за компом, и проблема решена, причём теперь я сам решаю, какое действие будет по умолчанию (опционально можно добавлять альтернативные действия, например "редактировать" или "распечатать").
Прикольно, но мне удалось даже решить проблему выдачи сообщений об ошибке. Я не стал чикаться с Tk под Пайтоном (технически это не сложно, но бессмысленно городить приложение ради окошка с сообщением об ошибке). Просто использовал универсальный "швейцарский нож виндовой автоматизации" - nircmd. Простой израильский парень Нир Сойфер объединил все самые часто используемые действия в сценариях работы с виндой в один экзешник. Просто прочитайте прилагаемый к нему хелп-файл и вы сходу начнёте выделывать всякие крутые штучки, не вдаваясь в хитрости программирования. У меня, например, на большом домашнем компьютере при помощи этой приблуды сделана иконка "перейти в спящий режим". Короче, будьте проще, и проблемы сами не захотят к вам приставать.
А остальные приложения я вообще положил в так называемую "панель" рядом с часиками виндовса. Просто добавил панельку правым кликом, назначив некую папочку в качестве контейнера, а потом в эту папочку накидал ярлыков нужных программ. Советую, очень удобно и работает на всех виндах.
Ну и чтобы вы не скучали, расскажу ещё одну байку, но для баланса - из мира Линуксов. ВПС получил как-то задачу: научить систему распаковывать архивы на экзотической платформе (Винда ARM64). Решение было простым - использовать пайтоновскую библиотеку, которая распаковывает хоть чёрта лысого, независимо от операционки и типа процессора. И вот, через месяц, у линуксовых групп начались проблемы: тот самый скрипт падает на распаковке архива. Что за ёперный балет, подумал я, - у всех работает, а у них - падает. Начал копать, посмотрел сообщение об ошибке и о...бомлел: архив содержал некорректные симлинки! Открываю его через less - действительно сплошные линки на самого себя, кому же такое понравится? Впрочем, штатный tar раскрывал такой архив без проблем. Пришлось искать виноватых
Tags: