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

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

Ветеран


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

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


TRaMeLL, вообще, по-хорошему, нужно обработку импорта в 1С править, дабы она не спотыкалась на втором знаке равенства в строке.

Попробуйте так (на WSH):
Скрытый текст
Код: Выделить весь код
Option Explicit

Dim strSourceFile

Dim objFSO
Dim strContent


If WScript.Arguments.Count = 1 Then
	Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
	
	strSourceFile = objFSO.GetAbsolutePathName(WScript.Arguments.Item(0))
	
	If objFSO.FileExists(strSourceFile) Then
		With objFSO.OpenTextFile(strSourceFile)
			strContent = .ReadAll()
			.Close
		End With
		
		With WScript.CreateObject("VBScript.RegExp")
			.Pattern   = "(^НазначениеПлатежа=.+?)=(.+$)"
			.Global    = True
			.MultiLine = True
		
			If .Test(strContent) Then
				strContent = .Replace(strContent, "$1:$2")
				
				objFSO.CopyFile strSourceFile, strSourceFile & ".bak", True
				
				With objFSO.CreateTextFile(strSourceFile, True)
					.Write strContent
					.Close
				End With
			Else
				WScript.Echo "Nothing found."
			End If
		End With
	Else
		WScript.Echo "Can't find source file [" & strSourceFile & "]."
		WScript.Quit 2
	End If
	
	Set objFSO = Nothing
Else
	WScript.Echo "Usage: cscript.exe //nologo """ & WScript.ScriptName & """ <Source file>"
	WScript.Quit 1
End If

WScript.Quit 0

Путь к исходному файлу указывается аргументом скрипта (также можно просто перетащить исходный файл на скрипт/ярлык на скрипт в Проводнике). Делать специальную проверку, что имя переданного файла имеет строго заданный вид «kl_to_1c.txt» — не стал (если нужно — сделаем).
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:02, 26-12-2018 | #4