Войти

Показать полную графическую версию : [решено] Переменные среды на CD\DVD


Страниц : 1 [2]

Iska
20-08-2013, 21:56
теперь все заработало!!! »
Ну, и славненько ;).

Теперь как прикрутить сохранение к этому? Например чтоб при нажатии на кнопку выскакивало диалоговое окно проводника с предложением сохранить папку с имеющимся названием на HDD »
Ничего не понял. Поясните.

Tier2
20-08-2013, 22:07
сделал я отдельную кнопку "сохранить на диск" - при ее нажатии запускается скрипт который вызывает окно проводника с предложением куда сохранить папку в которой расположен наш исполняемый файл(OneVolumeViewer.exe)

Iska
20-08-2013, 22:44
Tier2, я не пойму тут две вещи: первое — что значит «сохранить папку», второе — что требуется сделать.

Tier2
20-08-2013, 23:02
попытаюсь объяснить - у нас есть папка в корне CD диска (эта та папка в которой расположен наш OneVolumeViewer.exe) , при нажатии на кнопку в меню авторана "сохранить на диск" - выскакивает окно с вопросом или окно проводника с вопросом "Куда" сохранять (скопировать) данную папку например типа такого:
http://s6.hostingkartinok.com/uploads/images/2013/08/49d1380972c94f50ac52b7bdb0156d28.png (http://hostingkartinok.com)

Папка со всем ее содержимым копируется на жесткий диск по нажатии "Копировать" после указания пути

Iska
20-08-2013, 23:56
Tier2, ясно. Ну, а вопрос-то в чём? Что-то не работает?

Tier2
21-08-2013, 00:11
Нужен сам скрипт)))

Iska
21-08-2013, 00:45
Нужен сам скрипт))) »
А… :(.

С этим будут проблемы — окно обзора папок будет появляться на заднем плане:
Option Explicit

Const strFileName = "OneVolumeViewer.exe"

Const EditBox = &H10


Dim strSourceFolder

Dim objShell
Dim objDestFolder


strSourceFolder = FindFolderForFile()

If Not IsEmpty(strSourceFolder) Then
Set objShell = WScript.CreateObject("Shell.Application")

Set objDestFolder = objShell.BrowseForFolder(0, "Select destination folder to copy", EditBox)

If Not objDestFolder Is Nothing Then
WScript.Echo objDestFolder.self.Path

objDestFolder.CopyHere objShell.NameSpace(strSourceFolder)
End If
Else
WScript.Echo "Can't find source folder for [" & strFileName & "]."
End If

WScript.Quit 0

Function FindFolderForFile()
Dim objFolder

With WScript.CreateObject("Scripting.FileSystemObject")
For Each objFolder In .GetDrive(.GetDriveName(WScript.ScriptFullName)).RootFolder.SubFolders
If .FileExists(.BuildPath(objFolder.Path, strFileName)) Then
FindFolderForFile = objFolder.Path

Exit For
End If
Next
End With
End Function

Tier2
21-08-2013, 00:53
Iska низкий Вам поклон!!! Все работает - это то что нужно, только вот одна загвоздка - как убрать всплвыющее окно подтверждения после нажатия кнопки "Копировать"?
http://s3.hostingkartinok.com/uploads/images/2013/08/963494e5d2c968513de97d2cba7b0d84.png (http://hostingkartinok.com)

Iska
21-08-2013, 01:05
только как убрать всплвыющее окно после нажатия кнопки "Копировать"? »
Чем не нравится? Стиль Проводника.

Если совсем не хочется видеть прогресс:
objDestFolder.CopyHere objShell.NameSpace(strSourceFolder), 4
Дабы дополнительно перезаписывал существующие объекты без запросов:
objDestFolder.CopyHere objShell.NameSpace(strSourceFolder), 4 + 16

Tier2
21-08-2013, 01:07
Цитата Iska:
Чем не нравится? Стиль Проводника. »

Это пять балов! Под столом)

Вы меня немного не поняли - я не имел ввиду сам прогресс копирования, я имел ввиду, что после выбора папки куда копировать появляется вышеуказанное окно и пока не нажмешь "ОК" копирование не пойдет. Так вот как это окно пропустить или исключить вообще

Iska
21-08-2013, 01:16
Tier2, когда писал, ещё не видел Вашей правки — скриншота — и потому понял Вас неверно.

Это я пропустил отладочное сообщение. Просто удалите строку:
WScript.Echo objDestFolder.self.Path
из кода. Приношу свои извинения.

Tier2
21-08-2013, 01:26
Iska, приогромнейшее Вам спасибо за помощь - будете в Харькове с меня пиво. Вы мне помогли решить все проблемы. Еще раз спасибо и низкий Вам поклон




© OSzone.net 2001-2012