/* Имя: PropScript.js */
/* Язык: JScript */
/* Описание: Вывод свойств запущенного сценария */
/*******************************************************************/
//Проверка режима, в котором запущен сценарий
function IsCScript() {
return ("c"== WScript.FullName.toLowerCase().charAt(WScript.FullName.length - 11));
}
//Возвращает каталог, содержащий запущенный сценарий
function GetScriptDir() {
var ScriptDir;
ScriptDir = WScript.ScriptFullName;
ScriptDir = ScriptDir.substring(0, ScriptDir.lastIndexOf("\\"));
return ScriptDir;
}
/******************* Начало **********************************/
var WshShell,s; //Объявляем переменные
//Создаем объект WshShell
WshShell=WScript.CreateObject("WScript.Shell");
s=" Свойства запущенного сценария:\n\n";
//Проверяем, в каком режиме был запущен сценарий
if (IsCScript()) s+="Запущен в консольном режиме\n";
else s+="Запущен в графическом режиме\n";
//Определяем остальные параметры
s+="Путь к серверу: "+WScript.FullName+"\n";
s+="Каталог сервера: "+WScript.Path+"\n";
s+="Версия WSH: "+WScript.Version+"\n\n";
s+="Текущий каталог: "+ WshShell.CurrentDirectory+"\n";
s+="Путь к сценарию: "+WScript.ScriptFullName+"\n";
s+="Каталог сценария: "+GetScriptDir()+"\n";
s+="Имя сценария: "+WScript.ScriptName+"\n";
WScript.Echo(s); //Выводим сформированные строки
/************* Конец *********************************************/
Листинг 2.20. Вывод свойств WSH и запущенного сценария (VBScript)
'*******************************************************************
' Имя: PropScript.vbs
' Язык: VBScript
' Описание: Вывод свойств запущенного сценария
'*******************************************************************
Option Explicit
' Проверка режима, в котором запущен сценарий
Function IsCScript()
IsCScript=("c"=Mid(LCase(WScript.FullName),Len(WScript.FullName)-10,1))
End Function
' Возвращает каталог, содержащий запущенный сценарий
Function GetScriptDir()
Dim ScriptDir
ScriptDir = WScript.ScriptFullName
ScriptDir = Left(ScriptDir, InstrRev(ScriptDir,"\")-1)
GetScriptDir=ScriptDir
End Function
'******************* Начало **********************************/
Dim WshShell,s ' Объявляем переменные
' Создаем объект WshShell
Set WshShell=WScript.CreateObject("WScript.Shell")
s=" Свойства запущенного сценария:" & vbCrLf & vbCrLf
' Проверяем, в каком режиме был запущен сценарий
If IsCScript() Then
s=s & "Запущен в консольном режиме" & vbCrLf
Else
s=s & "Запущен в графическом режиме" & vbCrLf
End If
' Определяем остальные параметры
s=s & "Путь к серверу: " & WScript.FullName & vbCrLf
s=s & "Каталог сервера: " & WScript.Path & vbCrLf
s=s & "Версия WSH: " & WScript.Version & vbCrLf & vbCrLf
s=s & "Текущий каталог: "+ WshShell.CurrentDirectory & vbCrLf
s=s & "Путь к сценарию: " & WScript.ScriptFullName & vbCrLf
s=s & "Каталог сценария: " & GetScriptDir() & vbCrLf
s=s & "Имя сценария: " & WScript.ScriptName & vbCrLf
WScript.Echo s ' Выводим сформированные строки
'************* Конец *********************************************
Работа с параметрами командной строки сценария
Используя аргументы командной строки, в сценарии можно передавать различную информацию, скажем, те или иные переключатели или имена пользователей и рабочих станций. При задании аргумента можно указать либо только его значение, либо имя вместе со значением в следующем формате: "Имя_аргумента:Значение".
Замечание
Как в имени аргумента, так и в его значении могут использоваться символы кириллицы.
Например, выполнив в командном окне строку
cscript Example.js /Имя:"Андрей Попов" /Возраст:30
или
cscript Example.js /Возраст:30 /Имя:"Андрей Попов"
мы передадим в сценарий Example.js два параметра: "Имя" со значением "Андрей Попов" и "Возраст" со значением "30". Значения этих параметров можно было передать и как безымянные параметры:
cscript Example.js "Андрей Попов" 30
Однако в последнем случае при задании безымянных аргументов будет важен порядок их указания в командной строке.
Читать дальше