@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
StartF = "Z:\Муз"
Set App = CreateObject("Excel.Application")
With App.FileDialog(3)
.AllowMultiSelect = False
.Title = "Выбрать файлы для меня" ‘заголовок окна диалога
.Filters.Clear ‘очищаем установленные ранее типы файлов
.Filters.Add "Медиафайлы", "*.mp*;*.flac", 1 ‘устанавливаем возможность выбора только файлов Excel
.Filters.Add "Текстовые файлы", "*.txt", 2 ‘добавляем возможность выбора текстовых файлов
.FilterIndex = 1 ‘устанавливаем тип файлов по умолчанию - Text files(Текстовые файлы)
.InitialFileName = StartF ‘назначаем папку отображения и имя файла по умолчанию
.InitialView = 4 ‘вид диалогового окна(доступно 9 вариантов)
If .Show = 0 Then
MsgBox "Файл не выбран"
Else
For lf = 1 To .SelectedItems.Count
MsgBox .SelectedItems(lf)
Next
End If
End With
У попа была собака,
Он ее любил.
Она съела кусок мяса —
Он ее убил.
https://www.inpearls.ru/