Page 2 of 2
Re: Using "HTA input forms" in Batch files
Posted: 20 Aug 2015 08:01
by Meerkat
OperatorGK wrote:Guys from one Russian forum done it before (folder selection menu):
Code: Select all
@echo off
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
if defined sFolderName (
echo Folder : %sFolderName%
) else (
echo Folder isn't selected
)
cd %sFolderName%
Hmm... Is there a way to make the looooong one line "IN part" to multi line? This works:
Code: Select all
@echo off
for %%I in (
1 2 3 4 5 6 7 8
9 10 11 12 13 14 15 16
17 18
19
) do echo %%I
pause
Meerkat
Re: Using "HTA input forms" in Batch files
Posted: 20 Aug 2015 09:09
by foxidrive
It may not be what you want, but it works.
Code: Select all
@echo off
set v=@"%systemroot%\system32\mshta.exe"
set v=%v% "javascript:var objShellApp = new ActiveXObject
set v=%v%('Shell.Application');var Folder = objShellApp.
set v=%v%BrowseForFolder(0, 'Select Folder:',1, '
set v=%v%::{20D04FE0-3AEA-1069-A2D8-08002B30309D}');try
set v=%v%{new ActiveXObject('Scripting.FileSystemObject')
set v=%v%.GetStandardStream(1).Write(Folder.Self.Path)};
set v=%v%catch (e){};close();"
@echo off
for /f "usebackq delims=" %%i in (
`%v% 1^|more`
) do set "sFolderName=%%i"
if defined sFolderName (
echo Folder : "%sFolderName%"
) else (
echo Folder isn't selected
)
cd /d "%sFolderName%"
pause
Re: Using "HTA input forms" in Batch files
Posted: 20 Aug 2015 22:08
by Meerkat
Thanks! Ill accept that.
Re: Using "HTA input forms" in Batch files
Posted: 03 Sep 2021 11:09
by Aacini
I updated the code in this (old) thread to fix some minor errors...
Antonio