vivera864864 |
27-05-2011 20:18 1683857 |
Вызов GUI для выбора папки
Подскажите скрипт чтобы выбрать папку через стандартый GUI и записать её имя в переменную
Как это:
И ещё подскажите без каких файлов он работать не будет?
Заранее спасибо
|
Код:
@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
|
vivera864864 |
27-05-2011 21:52 1683884 |
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" "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
|
vivera864864 |
28-05-2011 05:26 1683989 |
ferget, Ну не то я хочу как на скине
|
это окно не является стандартным, его сделали для µTorrent
|
vivera864864 |
28-05-2011 09:51 1684024 |
ferget, жалко :'(
|
ну в принципе можно такое сделать на Powershell, но сложно
|
vivera864864 |
28-05-2011 11:31 1684065 |
ferget, это уже не так важно, теперь надо заставить работать в winpe 3.0
|
Цитата:
Цитата 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 файлы?
|
Время: 04:03.
© OSzone.net 2001-