![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Окно для выбора файла. |
|
|
VBS/WSH/JS - [решено] Окно для выбора файла.
|
![]() Старожил Сообщения: 175 |
Привет всем, нужна ваша помощь....
Нужен скрипт который бы открывал окно для выбора файла При выборе файла скрипт должен сохранить текущий путь в текстовый файл. Я вам ниже дал скрипт, который должен открывать окно для выбора файла, но он выдаёт ошибку(не работает). Помогите переделать скрипт. Заранее благодарю. 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
|
Профиль | Отправить PM | Цитировать |
Отправлено: 09:11, 13-12-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Старожил Сообщения: 175
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Мне нужен скрипт типа обзора файлов. Скрипт будет запускаться bat-ником. После этого должно открыться стандартное окно поиска файлов для rar-архивов. После выбора файла окно закрывается и рядом со скриптом генерируется текстовый файл, в котором сохраняется полный путь к указанному файлу. |
|
------- Отправлено: 00:09, 14-12-2016 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата angel_lyucifer:
Цитата angel_lyucifer:
Цитата angel_lyucifer:
|
|||
Отправлено: 01:26, 14-12-2016 | #4 |
![]() Старожил Сообщения: 175
|
Профиль | Отправить PM | Цитировать Цитата Iska:
Этот скрипт выдаёт ошибку --------------------------- 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
|
Профиль | Отправить PM | Цитировать angel_lyucifer, либо заполняйте свою конфигурацию, либо указывайте условия исполнения, в данном случае — ОС. «UserAccounts.CommonDialog» и «SAFRCFileDlg.FileOpen» — основаны на библиотеках, идущих в комплекте с Windows XP.
|
Отправлено: 02:40, 14-12-2016 | #6 |
Сообщения: 53589
|
Профиль | Отправить PM | Цитировать angel_lyucifer, ещё варианты VBScript File Browser.
|
Отправлено: 08:52, 14-12-2016 | #7 |
![]() Старожил Сообщения: 175
|
Профиль | Отправить PM | Цитировать Цитата 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
|
Профиль | Отправить 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
|
Профиль | Отправить 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 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
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 |
|