Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Winnity — диалог выбора папки или файла из командой строки

Ответить
Настройки темы
CMD/BAT - Winnity — диалог выбора папки или файла из командой строки

Аватара для hb860

Идиот


Сообщения: 1125
Благодарности: 419

Профиль | Сайт | Отправить PM | Цитировать


Изменения
Автор: hb860
Дата: 08-01-2012
Winnity — консольное приложение, показывающее диалог выбора папки или файла, которое можно использовать в командных файлах.

Предположим, командный файл принимает в качестве параметра запуска папку. Привертев к нему Winnity, можно запускать такой командный файл просто щелчком мыши, выбрать папку и дождаться завершения его работы.
Пример выбора папки
Код: Выделить весь код
for /F "delims=" %%i in ('winnity /d') do (
dir %%i )
Пример выбора файла
Код: Выделить весь код
for /F "delims=" %%i in ('winnity /f') do (
notepad.exe %%i )
Код: Выделить весь код
for /F "delims=" %%i in ('winnity /d') do (set x=%%i )
echo %x%
Домашняя страница winnity

-------
http://feeds.feedburner.com/Winreviewru.1.gif
Горячие клавиши Windows 8 | Все программы, которые я разработал| Гаджеты для Windows 8

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:42, 07-01-2012

 

Старожил


Сообщения: 415
Благодарности: 257

Профиль | Отправить PM | Цитировать


У вас ссылка битая, лишний httр
Цитата:
httр://http//winreview.ru/winnity-dia...
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:00, 08-01-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 415
Благодарности: 257

Профиль | Отправить PM | Цитировать


Сразу пустил winnity в дело - пристроил к скрипту, применяющему патчи к одной известной игре. Хотелось бы немного расширить функционал, а именно:
  • Добавить ключ, который бы разрешал множественный выбор файлов в диалоге, через зажатый ctrl, shift или выделением рамкой
  • Добавить маски файлов, к примеру, показывать и разрешать выбирать только zip файлы (естественно, хорошо бы и возможность за раз указать несколько масок для нескольких типов файлов)

Последний раз редактировалось Anonymоus, 08-01-2012 в 02:47.


Отправлено: 02:16, 08-01-2012 | #3


Аватара для hb860

Идиот


Сообщения: 1125
Благодарности: 419

Профиль | Сайт | Отправить PM | Цитировать


Это несложно.
Вопрос только, в каком виде задавать эти параметры?
Через ини-файл или через опции командной строки?

-------
http://feeds.feedburner.com/Winreviewru.1.gif
Горячие клавиши Windows 8 | Все программы, которые я разработал| Гаджеты для Windows 8

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:52, 08-01-2012 | #4


Старожил


Сообщения: 415
Благодарности: 257

Профиль | Отправить PM | Цитировать


Лучше бы конечно через опции. Например, выбор одиночного файла /F:single, выбор нескольких /F:multi. Маски - работают только при диалоге выбора файла, для директорий это ни к чему. Например, /M "zip rar 7z"
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:09, 08-01-2012 | #5


Аватара для hb860

Идиот


Сообщения: 1125
Благодарности: 419

Профиль | Сайт | Отправить PM | Цитировать


Готово
Забирать там же
Цитата:
Usage:
winnity /d - select directory dialog
winnity /f - open file dialog
winnity /f /m - open file dialog (multi select)
winnity /f /e=*.exe - open file dialog with filter by exe extension
winnity /f "/e=*.exe *.dll *.*" - open file dialog with exe,dll and all files extensions filter

Sergey Tkachenko, http://winreview.ru
Тоже работает:
Код: Выделить весь код
winnity /f  /m /e=*.exe

-------
http://feeds.feedburner.com/Winreviewru.1.gif
Горячие клавиши Windows 8 | Все программы, которые я разработал| Гаджеты для Windows 8

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:25, 11-01-2012 | #7


Старожил


Сообщения: 415
Благодарности: 257

Профиль | Отправить PM | Цитировать


Благодарю за изменения, сейчас перекачаю новую версию.
UPD: Скачал, протестировал. Выбор директории работает отлично, как и в предыдущей версии. А вот с файлами что-то не так. При запуске просто с ключом /f, без /e или /m - не выводит выбранный файл, просто не пишет ничего в stdout. При запуске /f /m - дает выбрать несколько файлов, но по прежнему не выводит результата. При запуске с /f /e=*.cab фильтр не применяется, видны файлы с любыми расширениями, соответственно, можно выбрать не подходящий под фильтр. И снова не выводит результат.
ОС - Win XP SP3.
Запускал такой строкой: For /F "tokens=*" %%I In ('winnity /f') Do (Echo "%%I")

Последний раз редактировалось Anonymоus, 11-01-2012 в 03:29.


Отправлено: 03:19, 11-01-2012 | #8


Аватара для hb860

Идиот


Сообщения: 1125
Благодарности: 419

Профиль | Сайт | Отправить PM | Цитировать


Цитата Anonymоus:
А вот с файлами что-то не так. »
Есть такое. Исправил, перекачиваем.

Цитата Anonymоus:
При запуске с /f /e=*.cab фильтр не применяется »
Потому что в FOR надо писать так:
Код: Выделить весь код
For /F "tokens=*" %%I In ('winnity /f "/e=*.cab"') Do (Echo "%%I")
Кавычки нужны, а то звёздочка команду смущает

-------
http://feeds.feedburner.com/Winreviewru.1.gif
Горячие клавиши Windows 8 | Все программы, которые я разработал| Гаджеты для Windows 8

Это сообщение посчитали полезным следующие участники:

Отправлено: 08:24, 11-01-2012 | #9


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Вещь полезная в плане того, что после XP выкинули потребные библиотеки, а «comdlg32.ocx» требует лицензирования (хотя и есть и вполне легальный способ его задействовать). Спасибо.

Цитата hb860:
winnity /f "/e=*.exe *.dll *.*" - open file dialog with exe,dll and all files extensions filter »
Отчего синтаксис не стандартный:
Код: Выделить весь код
winnity /f /e="*.exe *.dll *.*"
или даже:
Код: Выделить весь код
winnity /f /e:"*.exe *.dll *.*"
?

hb860, можете там же реализовать и поддержку GetSaveFileName? Иногда бывает нужно и такое.

Также, возможно, стоит дать возможность задавать текст заголовка диалогового окна.


2All: Вопрос — у меня под XP окно «Open File» отображается под окном командной строки/запущенного пакетного файла. У кого-либо наблюдается подобное?

Отправлено: 20:55, 11-01-2012 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Winnity — диалог выбора папки или файла из командой строки

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] открытие диалога выбора файла без mshta.exe (на cmd или js,vbs) AUTO-NEK Скриптовые языки администрирования Windows 14 23-05-2011 12:48
Интерфейс - [решено] Проблема выбора целевой папки для записи файла при команде "Сохранить как". GrayWolf Microsoft Windows 7 11 19-09-2010 13:10
CMD/BAT - [решено] Скрипт для случайного выбора строки из файла Anonymоus Скриптовые языки администрирования Windows 8 14-06-2010 04:03
Ошибка при копировании папки или файла CarBon Microsoft Windows 2000/XP 4 14-05-2009 22:22
Автоматическое копирование файла или папки BRAT2 Хочу все знать 3 02-11-2008 04:59




 
Переход