Имя пользователя:
Пароль:
 | Правила  

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

Ответить
Настройки темы
VBS/WSH/JS - [решено] Окно для выбора файла.

Аватара для angel_lyucifer

Старожил


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


Конфигурация

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


Привет всем, нужна ваша помощь....
Нужен скрипт который бы открывал окно для выбора файла При выборе файла скрипт должен сохранить текущий путь в текстовый файл. Я вам ниже дал скрипт, который должен открывать окно для выбора файла, но он выдаёт ошибку(не работает). Помогите переделать скрипт.

Заранее благодарю.



Код: Выделить весь код
Set OpenDialog = CreateObject("MSComDlg.CommonDialog") 'Microsoft Common Dialog Control
With OpenDialog
    .DialogTitle = "Откройте нужный Вам файл!"
    .InitDir = "C:\WINDOWS\"
    .Filter = "Все файлы (*.*)|*.*|Программы (*.com,*.exe)|*.com;*.exe|Текст (*.txt,*.log)|*.txt;*.log"
    .FilterIndex = 2
    .Flags = 2621952
    .MaxFileSize =32000
    .ShowOpen
    Filename = .Filename
End With

If (Len(OpenDialog.FileName)= 0) Then
    WScript.Echo "Файлы не выбраны!"
    WScript.Quit 1
End If

files = Split(OpenDialog.Filename, vbNullChar)
count_files = UBound(files)
If count_files > 0 Then
    path = files(0) + "\"
    For i = 1 To count_files
        WScript.Echo path + files(i)
    Next
Else
    WScript.Echo files(0)
End If

-------
Век живи, век учись! =)


Отправлено: 02:32, 13-12-2016

 

Ветеран


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

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


Цитата angel_lyucifer:
но он выдаёт ошибку »
Какую?

В каком окружении исполняется скрипт?

Отправлено: 09:11, 13-12-2016 | #2



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

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


Аватара для angel_lyucifer

Старожил


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

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


Изображения
Тип файла: jpg Безымянный.jpg
(23.7 Kb, 33 просмотров)

Цитата Iska:
В каком окружении исполняется скрипт? »
Поясните пожалуйста что это такое? Ошибка на скрине...
Мне нужен скрипт типа обзора файлов. Скрипт будет запускаться bat-ником. После этого должно открыться стандартное окно поиска файлов для rar-архивов. После выбора файла окно закрывается и рядом со скриптом генерируется текстовый файл, в котором сохраняется полный путь к указанному файлу.

-------
Век живи, век учись! =)


Отправлено: 00:09, 14-12-2016 | #3


Ветеран


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

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


Цитата angel_lyucifer:
Ошибка на скрине... »
Можно было просто нажать Ctrl-C в этом диалоге.


Цитата angel_lyucifer:
Поясните пожалуйста что это такое? »
Ровно то, что написано. Невозможно создать объект указаного класса, потому как либо не зарегистрирована библиотека COMDLG32.OCX, либо вообще отсутствует (в скобках отмечу, что она к тому же требует и лицензирования).

Цитата angel_lyucifer:
Мне нужен скрипт типа обзора файлов. »
Можете попробовать рецепты отсюда: vbscript: вызов интерактивного диалога открытия файла — Windows Script Host, HTA (VBScript, JScript) — Коллекция скриптов и идей — Серый форум.

Отправлено: 01:26, 14-12-2016 | #4


Аватара для angel_lyucifer

Старожил


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

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


Цитата Iska:
Можете попробовать рецепты отсюда: vbscript: вызов интерактивного диалога открытия файла — Windows Script Host, HTA (VBScript, JScript) — Коллекция скриптов и идей — Серый форум. »
Данный рецепт взял я именно от туда, 2 других рецепта тоже не работают...

Код: Выделить весь код
Этот скрипт выдаёт ошибку 

---------------------------
Windows Script Host
---------------------------
Сценарий:	D:\Лаболатория\SMOG\open.vbs
Строка:	1
Символ:	1
Ошибка:	Невозможно создание объекта контейнером ActiveX: 'UserAccounts.CommonDialog'
Код:	800A01AD
Источник: 	Ошибка выполнения Microsoft VBScript

---------------------------
ОК   
---------------------------
Set objDialog = CreateObject("UserAccounts.CommonDialog")
objDialog.Filter = "WSH скрипты (*.vbs, *.js)|*.vbs;*.js|Все файлы (*.*)|*.*"
objDialog.FilterIndex = 2
objDialog.InitialDir = "C:\"
intResult = objDialog.ShowOpen
If intResult = 0 Then
    Wscript.Quit
Else
    Wscript.Echo objDialog.FileName
End If
или
Код: Выделить весь код
Этот скрипт выдаёт ошибку 
---------------------------
Windows Script Host
---------------------------
Сценарий:	D:\Лаболатория\SMOG\open.vbs
Строка:	1
Символ:	1
Ошибка:	Невозможно создание объекта контейнером ActiveX: 'SAFRCFileDlg.FileOpen'
Код:	800A01AD
Источник: 	Ошибка выполнения Microsoft VBScript
---------------------------
ОК   
---------------------------
Set objDialog = CreateObject("SAFRCFileDlg.FileOpen")
intResult = objDialog.OpenFileOpenDlg
WScript.Echo "Результат операции: " & CStr(intResult)
WScript.Echo "Выбран файл: " & objDialog.FileName

-------
Век живи, век учись! =)


Отправлено: 02:30, 14-12-2016 | #5


Ветеран


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

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


angel_lyucifer, либо заполняйте свою конфигурацию, либо указывайте условия исполнения, в данном случае — ОС. «UserAccounts.CommonDialog» и «SAFRCFileDlg.FileOpen» — основаны на библиотеках, идущих в комплекте с Windows XP.

Отправлено: 02:40, 14-12-2016 | #6



Moderator


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

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


angel_lyucifer, ещё варианты VBScript File Browser.
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:52, 14-12-2016 | #7


Аватара для angel_lyucifer

Старожил


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

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


Цитата Petya V4sechkin:
Petya V4sechkin Petya V4sechkin»
Как добавить фильтр в скрипт?
Код: Выделить весь код
Function BrowseForFile()
    With CreateObject("WScript.Shell")
        Dim fso : Set fso = CreateObject("Scripting.FileSystemObject")
        Dim tempFolder : Set tempFolder = fso.GetSpecialFolder(2)
        Dim tempName : tempName = fso.GetTempName() & ".hta"
        Dim path : path = "HKCU\Volatile Environment\MsgResp"
        With tempFolder.CreateTextFile(tempName)
            .Write "<input type=file name=f>" & _
            "<script>f.click();(new ActiveXObject('WScript.Shell'))" & _
            ".RegWrite('HKCU\\Volatile Environment\\MsgResp', f.value);" & _
            "close();</script>"
            .Close
        End With
        .Run tempFolder & "\" & tempName, 1, True
        BrowseForFile = .RegRead(path)
        .RegDelete path
        fso.DeleteFile tempFolder & "\" & tempName
    End With
End Function
MsgBox BrowseForFile

-------
Век живи, век учись! =)


Отправлено: 01:42, 15-12-2016 | #8


Старожил


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

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


почему не подходит Powershell ?


Function Get-FileName($initialDirectory)
{
[System.Reflection.Assembly]::LoadWithPartialName("System.windows.forms") |
Out-Null

$OpenFileDialog = New-Object System.Windows.Forms.OpenFileDialog
$OpenFileDialog.initialDirectory = $initialDirectory
$OpenFileDialog.filter = "All files (*.*)| *.*"
$OpenFileDialog.ShowDialog() | Out-Null
$OpenFileDialog.filename
}

Последний раз редактировалось Serguei Kouzmine, 19-12-2016 в 04:33. Причина: формат


Отправлено: 04:33, 19-12-2016 | #9


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


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

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


Зайдите на http://www.robvanderwoude.com/batchtools.php
Поскрольте до OpenFileBox (2) Batch tool to present an Open File Dialog and return the selected file path
и скачайте. Это утилита командной строки делающая то что вам нужно.
Для записи в текстовичок просто ставите ридерект >>

Отправлено: 01:22, 20-12-2016 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Скрипт для случайного выбора строки из файла mapisic Скриптовые языки администрирования Windows 8 04-09-2014 13:16
7 / 2008 R2 - окно выбора редакции sashok60 Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista 7 27-02-2013 10:17
CMD/BAT - [решено] Скрипт для случайного выбора строки из файла Anonymоus Скриптовые языки администрирования Windows 8 14-06-2010 04:03
Aplet для выбора файла запрещён, как разрешить? EvgeniyQQQ Microsoft Windows NT/2000/2003 1 13-10-2008 17:02
как открыть окно для загрузки файла из JS? Vlad Drakula Вебмастеру 25 22-02-2007 13:04




 
Переход