Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата termitt:
суть тут не в переменной Path »
Как раз в ней и суть. Ибо надо не просто присвоить значение, а добавить. Причём только единожды.

На WSH:
Код: Выделить весь код
Option Explicit

Dim strPath4Add

Dim objWshShell

Dim strPaths
Dim strPath

Dim boolFound


strPath4Add = "C:\ProgramFiles(x86)\Autodesk\AutoCAD 2014"

Set objWshShell = WScript.CreateObject("WScript.Shell")

strPaths = Trim(objWshShell.Environment("SYSTEM").Item("PATH"))

If Len(strPaths) <> 0 Then
	boolFound = False
	
	For Each strPath In Split(strPaths, ";")
		If StrComp(strPath, strPath4Add, vbTextCompare) = 0 Then
			boolFound = True
			Exit For
		End If
	Next
	
	If Not boolFound Then
		strPaths = strPaths & ";" & strPath4Add
		objWshShell.Environment("SYSTEM").Item("PATH") = strPaths
	Else
		WScript.Echo "Path [" & strPath4Add & "] already present in PATH environment variable in SYSTEM collection."
	End If
Else
	WScript.Echo "Can't find PATH environment variable in SYSTEM collection."
	WScript.Quit 1
End If

Set objWshShell = Nothing

WScript.Quit 0
termitt, может, имеет смысл вместо прямого пути в «C:\ProgramFiles(x86)\Autodesk\AutoCAD 2014» использовать переменную окружения?!

Цитата termitt:
дописывать (дополнять) через точку с запятой любые значения переменной и в любой переменной будь это path или blalbla и т.д и т.п . »
Я не припомню ничего «другого», окромя PATHEXT .

Отправлено: 17:30, 13-01-2015 | #8