Войти

Показать полную графическую версию : Передача и вызов переменной в VBS скриптах


pzh2393
21-08-2015, 14:06
Помогите, пожалуйста, что-то никак не получается..

В первом 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
но где-то явно что-то не так, поскольку в 2.vbs это значение не появляется. »
Явно. Потому как а) нет никакой передачи, б) некорректно формируете сроку вызова.

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

pzh2393
22-08-2015, 22:55
Покажите полное содержимое »

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

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

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

Iska
23-08-2015, 21:45
pzh2393, ответьте на б).

pzh2393
23-08-2015, 21:53
первый из указанной вами темы, второй попытался сам, исходя из прочитанного (и относительно понятого) в интернете.

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

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




© OSzone.net 2001-2012