Имя пользователя:
Пароль:
 

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

Ветеран


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

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


xkafkax, то есть мы должны заменить последний элемент пути в параметрах «OutputFilesDirectory»/«TmpFilesDirectory» на базовое имя конфигурационного файла, так?

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

Dim strConfigFileName

Dim objFSO
Dim strContent


If WScript.Arguments.Count = 1 Then
	strConfigFileName = WScript.Arguments.Item(0)
	
	Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
	
	If objFSO.FileExists(strConfigFileName) Then
		With objFSO.OpenTextFile(strConfigFileName)
			strContent = StrConvert(.ReadAll(), "windows-1251", "cp866")
			.Close
		End With
		
		With WScript.CreateObject("VBScript.RegExp")
			.IgnoreCase = True
			.Global     = True
			.MultiLine  = True
			.Pattern    = "^( *)(OutputFilesDirectory|TmpFilesDirectory)(=.+\\)(.+)(\\\r)$"
			
			If .Test(strContent) Then
				strContent = .Replace(strContent, "$1$2$3" & objFSO.GetBaseName(strConfigFileName) & "$5")
			End If
		End With
		
		With objFSO.CreateTextFile(strConfigFileName)
			.Write StrConvert(strContent, "cp866", "windows-1251")
			.Close
		End With
	Else
		WScript.Echo "Config file [" & strConfigFileName & "] not found."
	End If
	
	Set objFSO = Nothing
Else
	WScript.Echo "Usage: wscript.exe " & WScript.ScriptName & " <Config file>"
End If

WScript.Quit 0
'=============================================================================

'=============================================================================
' HKEY_CLASSES_ROOT\MIME\Database\Charset
' cp866, windows-1251, koi8-r, unicode, utf-8, _autodetect
'=============================================================================
Function StrConvert(ByVal strText, ByVal strSourceCharset, ByVal strDestCharset)
	Const adTypeText      = 2
	Const adModeReadWrite = 3
	
	
	With WScript.CreateObject("ADODB.Stream")
		.Type      = adTypeText
		.Mode      = adModeReadWrite
		
		.Open
		
		.Charset   = strSourceCharset
		.WriteText strText
		
		.Position  = 0
		.Charset   = strDestCharset
		StrConvert = .ReadText
		
		.Close
	End With
End Function
'=============================================================================

Можете просто перетаскивать файл конфигурации на скрипт.
Это сообщение посчитали полезным следующие участники:

Отправлено: 06:11, 16-07-2013 | #4