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

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

Ответить
Настройки темы
CMD/BAT - [решено] Вызов GUI для выбора папки

Новый участник


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

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


Подскажите скрипт чтобы выбрать папку через стандартый GUI и записать её имя в переменную
Как это:

И ещё подскажите без каких файлов он работать не будет?
Заранее спасибо

Отправлено: 20:18, 27-05-2011

 

Аватара для ferget

Разный


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

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


Код: Выделить весь код
 @echo off
setlocal

for /f "tokens=2 delims=:" %%i in ('chcp') do (
    set sPrevCP=%%i
    chcp 1251 >nul
)

for /f "usebackq delims=" %%i in (
    `@"%systemroot%\system32\mshta.exe" "about:<FORM><INPUT type='file' name='qq'></FORM><script>document.forms[0].elements[0].click();var F=document.forms[0].elements[0].value;try {new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(F)};catch (e){};close();</script>" ^
    1^|more`
) do set sFileName=%%i

chcp %sPrevCP% >nul

if defined sFileName (
    echo Выбран файл: [%sFileName%].
) else (
    echo Файл не был выбран.
)

endlocal
exit /b 0
здесь обсуждается как сделать без mshta.exe

http://forum.oszone.net/thread-207216.html
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:42, 27-05-2011 | #2



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

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


Новый участник


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

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


ferget, Спасибо

А нет, не то надо ПАПКУ, а не файл((

А нет, не то надо ПАПКУ, а не файл((

Отправлено: 21:52, 27-05-2011 | #3


Аватара для ferget

Разный


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

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


есть такое окно
Код: Выделить весь код
@echo off
setlocal

for /f "tokens=2 delims=:" %%i in ('chcp') do (
    set sPrevCP=%%i
    chcp 1251 >nul
)

for /f "usebackq delims=" %%i in (
    `@"%systemroot%\system32\mshta.exe" "javascript:var objShellApp = new ActiveXObject('Shell.Application');var Folder = objShellApp.BrowseForFolder(0, 'SELECT FOLDER',1, '::{20D04FE0-3AEA-1069-A2D8-08002B30309D}');try {new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(Folder.Self.Path)};catch (e){};close();" ^
    1^|more`
) do set sFolderName=%%i

chcp %sPrevCP% >nul

if defined sFolderName (
    echo Выбрана папка: [%sFolderName%].
) else (
    echo Папка не была выбрана.
)

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

Отправлено: 23:59, 27-05-2011 | #4


Новый участник


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

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


ferget, Ну не то я хочу как на скине

Отправлено: 05:26, 28-05-2011 | #5


Аватара для ferget

Разный


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

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


это окно не является стандартным, его сделали для µTorrent

Отправлено: 06:29, 28-05-2011 | #6


Новый участник


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

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


ferget, жалко :'(

Отправлено: 09:51, 28-05-2011 | #7


Аватара для ferget

Разный


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

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


ну в принципе можно такое сделать на Powershell, но сложно

Отправлено: 10:25, 28-05-2011 | #8


Новый участник


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

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


ferget, это уже не так важно, теперь надо заставить работать в winpe 3.0

Отправлено: 11:31, 28-05-2011 | #9


Пользователь


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

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


Цитата ferget:
Код: Выделить весь код
@echo off
setlocal
for /f "tokens=2 delims=:" %%i in ('chcp') do (
 set sPrevCP=%%i
 chcp 1251 >nul
)
for /f "usebackq delims=" %%i in (
 `@"%systemroot%\system32\mshta.exe" "about:<FORM><INPUT type='file' name='qq'></FORM><script>document.forms[0].elements[0].click();var F=document.forms[0].elements[0].value;try {new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(F)};catch (e){};close();</script>" ^
 1^|more`
) do set sFileName=%%i
chcp %sPrevCP% >nul
if defined sFileName (
 echo Выбран файл: [%sFileName%].
) else (
 echo Файл не был выбран.
)
endlocal
exit /b 0
здесь обсуждается как сделать без mshta.exe
http://forum.oszone.net/thread-207216.html »
Добрый день!
А как сделать так, чтобы выбирались только .txt файлы?

Отправлено: 10:08, 10-12-2013 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
GUI для модифицированного 7-Zip SFX модуля для установок hobbeat Автоматическая установка Windows 2000/XP/2003 259 09-10-2016 07:01
Система - [addon] RSVCPACK - GUI для выбора установки программ на Т-40 sLiDeR-X Наборы обновлений для Windows XP/2003/Windows 7 258 09-02-2015 01:14
VBS/WSH/JS - Вызов диалогового окна "Сменить значок для папки..." OSArev Скриптовые языки администрирования Windows 0 19-03-2011 01:53
Вызов GUI в ModernMenuRaw morgan1991 AutoIt 2 14-11-2010 21:52
Интерфейс - [решено] Проблема выбора целевой папки для записи файла при команде "Сохранить как". GrayWolf Microsoft Windows 7 11 19-09-2010 13:10




 
Переход