Кавычки и переменные среды
Здравствуйте. Проблема в названии темы.
Код:
Set FSO = CreateObject("Scripting.FileSystemObject")
Set oShell = CreateObject("WScript.Shell")
Set WshShell = WScript.CreateObject("WScript.Shell")
Const OverwriteExisting = True
'Место копирования
progdir = oShell.ExpandEnvironmentStrings ("%APPDATA%\My First Program\")
'Исходный файл
progfile1 = ".\Setup.exe"
'Конечный файл
progfile2 = progdir & "Setup.exe"
'Копирование
FSO.CopyFile progfile1, progfile2, OverwriteExisting
'Запускаем Setup.exe
WshShell.Run progfile2, 1, False
Рядом со скриптом лежит Setup.exe, его нужно поместить по адресу "%APPDATA%\My First Program\" и запустить.
Установщик помещается туда куда нужно, но не стартует.
Как правильно расставить кавычки?
P.S.: Будем считать что такая директория "%APPDATA%\My First Program\" существует.
|
Код:
Option Explicit
Dim strFileName
Dim strSourceFile
Dim strDestFolder
strFileName = "Setup.exe"
With WScript.CreateObject("Scripting.FileSystemObject")
strSourceFile = .BuildPath(.GetParentFolderName(WScript.ScriptFullName), strFileName)
strDestFolder = .BuildPath(WScript.CreateObject("Shell.Application").NameSpace("shell:appdata").self.Path, "My First Program")
If .FileExists(strSourceFile) Then
If .FolderExists(strDestFolder) Then
.CopyFile strSourceFile, strDestFolder & "\", True
WScript.CreateObject("WScript.Shell").Run """" & .BuildPath(strDestFolder, strFileName) & """", 1, False
Else
WScript.Echo "Destination folder [" & strDestFolder & "] not found."
End If
Else
WScript.Echo "Source file [" & strFile & "] not found."
End If
End With
WScript.Quit 0
|
Iska , спасибо что помогаете, но не могли бы вы на пальцах объяснить про скобки и экранирование? Где мой косяк?
Ведь в моём варианте, он делает почти всё правильно, за исключением того, что не запускается.
|
Скобки не при чём. Экранирования в VBScript нет — незачем: нет обработчика, ничего не надо и экранировать. Дело в пробелах в пути к файлу:
Код:
WScript.CreateObject("WScript.Shell").Run """" & .BuildPath(strDestFolder, strFileName) & """", 1, False
|
Время: 16:37.
© OSzone.net 2001-