Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Передача и вызов переменной в VBS скриптах (http://forum.oszone.net/showthread.php?t=304300)

pzh2393 21-08-2015 14:06 2544354

Передача и вызов переменной в VBS скриптах
 
Помогите, пожалуйста, что-то никак не получается..

В первом VBS скрипте происходит определение strDrive, хочу передать это значение в другой скрипт - 2.vbs.

Код:

strPath2app = .BuildPath(strDrive, "2.vbs")
                                       
strPath2cscript = "c:\" & "WINDOWS\system32\cscript.exe"

WScript.CreateObject("WScript.Shell").Run """" & strPath2cscript & """ strPath2app " & """ strDrive", 0, False

WScript.CreateObject("WScript.Shell").Run """" & strPath2App & """", 1, False

но где-то явно что-то не так, поскольку в 2.vbs это значение не появляется.

Iska 21-08-2015 14:43 2544368

Цитата:

Цитата pzh2393
но где-то явно что-то не так, поскольку в 2.vbs это значение не появляется. »

Явно. Потому как а) нет никакой передачи, б) некорректно формируете сроку вызова.

Покажите полное содержимое «первом VBS скрипте» и «2.vbs».

pzh2393 22-08-2015 22:55 2544835

Цитата:

Цитата Iska
Покажите полное содержимое »

как-то так..
Код:

Dim strDriveLetter

Dim strPath2App

If WScript.Arguments.Count = 1 Then
        strContainerFile = WScript.Arguments.Item(0)
       
        With WScript.CreateObject("Scripting.FileSystemObject")
                If .FileExists(strContainerFile) Then

                        strDrive = Left(.GetBaseName(strContainerFile), 1) & ":"
                               
                        strPath2app = .BuildPath(strDrive, "2.vbs")
                                       
strPath2cscript = "c:\" & "WINDOWS\system32\cscript.exe"

WScript.CreateObject("WScript.Shell").Run """" & strPath2cscript & """ strPath2app " & """ strDrive", 0, False

WScript.CreateObject("WScript.Shell").Run """" & strPath2App & """", 1, False
       
                Else
                        WScript.Echo "Can't find file [" & strContainerFile & "]."
                        WScript.Quit 2
                End If
        End With
Else
        WScript.Quit 1
End If

WScript.Quit 0

Код:

Option Explicit
 
dim fso, strDrive

 
                WScript.Echo "[" & strDrive & "]"


WScript.Quit 0

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

Iska 23-08-2015 20:28 2545104

pzh2393, я не вижу здесь передачи параметра. Есть попытка использования одного имени переменной в разных скриптах. Несмотря на одно и то же имя — это две абсолютно разные переменные, не имеющие ничего общего.

Полагаю, ноги растут из этой темы: VBS/WSH/JS - [решено] подключение/отключение томов TrueCrypt? Опишите словами а) что именно Вы хотите получить, б) какой именно скрипт для этого Вы взяли за основу.

pzh2393 23-08-2015 21:10 2545121

ну да, собственно это попытка чуть расширить область применения.
например чтобы можно было букву смонтированного тома использовать как параметр (путь) командной строки для различных программ находящихся на этом томе, какбы портабельность вне зависимости от буквы под которым смонтировано.
Как пример тот же ТоталКоммандер - \totalcmd.exe l="буква" r="буква"

Iska 23-08-2015 21:45 2545133

pzh2393, ответьте на б).

pzh2393 23-08-2015 21:53 2545135

первый из указанной вами темы, второй попытался сам, исходя из прочитанного (и относительно понятого) в интернете.

Iska 23-08-2015 22:02 2545137

Цитата:

Цитата pzh2393
первый из указанной вами темы, »

Какой именно (под каждым сообщением есть две ссылки на него: «Отправлено» — ссылка на сообщение внутри темы и «#Номер» — ссылка на сообщение, показанное отдельно)?

pzh2393 24-08-2015 19:17 2545481

если я правильно понял вы просили эту ссылку: http://forum.oszone.net/post-2465305-16.html


Время: 17:19.

Время: 17:19.
© OSzone.net 2001-