TheLeon
24-05-2018, 12:10
Здравствуйте, уважаемые форумчане OSZone.net. Нужна помощь, а именно:
В файле, например, "assets.txt" нужно добавить строки("/G-65", "Mercedes-Benz G65 AMG" и т.д.) + чтобы каждая строчка была с новой строки и, если уже данная строка в файле присутствует, то ничего не предпринимать. Возможно ли это сделать через .vbs файл? Вот, что у меня получилось, но это не то.
Option Explicit
Dim oFSO, oTS, sFileText
Dim sDataToAdd, sBuff
Const vbForReading = 1
Const vbForWriting = 2
sDataToAdd = "/G-65" & vbCrLf & _
"Mercedes-Benz G65 AMG" & vbCrLf
If WScript.Arguments.Count = 0 Then
MsgBox "Необходимо передать файл в параметре", vbExclamation
WScript.Quit 1
End If
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oTS = oFSO.OpenTextFile(WScript.Arguments(0), vbForReading)
sFileText = oTS.ReadAll
oTS.Close
If Len(sFileText) >= Len(sDataToAdd) Then
sBuff = Right(sFileText, Len(sDataToAdd))
If LCase(sBuff) = LCase(sDataToAdd) Then
MsgBox "Данные уже были добавлены", vbInformation
WScript.Quit 2
End If
End If
sFileText = sFileText & sDataToAdd
Set oTS = oFSO.OpenTextFile(WScript.Arguments(0), vbForWriting)
oTS.Write(sFileText)
oTS.Close
Set oTS = Nothing
Set oFSO = Nothing
WScript.Quit 0
/gaz66
Модель B-66
/gaz_backup_wheel
Зап. колесо
/gaz_utility
Ремонтные части
/kamaz6520
Модель C-6520
/kamaz6522
Модель C-6522
/kirovets700
Модель K-700
/kirovets_grabber
Приспособа
/kirovets_protector
Защита кабины
/kraz255
Модель C-255
/kraz_backup_wheel
Зап. колесо
/kraz_carriage
Бортовая платформа
/kraz_cart
Платформа лесовоза
/kraz_cart_crane
Автономн. лес. кран
/kraz_cistern
Топливная цистерна
/kraz_markers
Маячки
/kraz_protector
Защита кабины
/kraz_roofpack
Зап. колесо
/kraz_tent
Гаражные части
/kraz_tractor
Сцепка
/kraz_utility
Ремонтные части
/load_logs_long
Длинные бревна
/load_logs_medium
Средние бревна
/load_logs_medium_wide
Средние бревна
/load_logs_short
Короткие бревна
/load_logs_short_short
Короткие бревна
/load_logs_short_crane
Короткие бревна
/load_logs_short_trailer
Короткие бревна
/maz535
Модель D-535
/maz7310
Модель E-7310
/maz_big_cart
Платформа лесовоза
/maz_big_tractor
Сцепка
/maz_big_utility
Ремонтные части
/maz_tractor
Сцепка
/trailer_cart
Прицеп-роспуск
/trailer_cistern
Полуприцеп-цистерна
/trailer_kraz_cart
Удлиненный роспуск
/trailer_short_cart
Бортовой прицеп
/trailer_tent
Полуприцеп-фургон
/trailer_tent_cart
Тележка-фургон
/trailer_utility
Борт. полуприцеп
/trailer_utility_cart
Сервисная тележка
/trailer_gaz
Гаражная тележка
/uaz469
Модель A-469
/uaz_bumper
Силовой бампер
/uaz_illumination
Маячки
/uaz_snorkel
Шноркель
/uaz_trunk
Ремонтные части
/ural4320
Модель C-4320
/ural_backup_wheel
Зап. колесо
/ural_cart
Платформа с краном
/ural_crane_support
Опора для крана
/ural_exhaust
Пожаробезопасный выхлоп
/zil130
Модель B-130
/zil_carriage
Бортовая платформа
/zil_utility
Ремонтные части
В файле, например, "assets.txt" нужно добавить строки("/G-65", "Mercedes-Benz G65 AMG" и т.д.) + чтобы каждая строчка была с новой строки и, если уже данная строка в файле присутствует, то ничего не предпринимать. Возможно ли это сделать через .vbs файл? Вот, что у меня получилось, но это не то.
Option Explicit
Dim oFSO, oTS, sFileText
Dim sDataToAdd, sBuff
Const vbForReading = 1
Const vbForWriting = 2
sDataToAdd = "/G-65" & vbCrLf & _
"Mercedes-Benz G65 AMG" & vbCrLf
If WScript.Arguments.Count = 0 Then
MsgBox "Необходимо передать файл в параметре", vbExclamation
WScript.Quit 1
End If
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oTS = oFSO.OpenTextFile(WScript.Arguments(0), vbForReading)
sFileText = oTS.ReadAll
oTS.Close
If Len(sFileText) >= Len(sDataToAdd) Then
sBuff = Right(sFileText, Len(sDataToAdd))
If LCase(sBuff) = LCase(sDataToAdd) Then
MsgBox "Данные уже были добавлены", vbInformation
WScript.Quit 2
End If
End If
sFileText = sFileText & sDataToAdd
Set oTS = oFSO.OpenTextFile(WScript.Arguments(0), vbForWriting)
oTS.Write(sFileText)
oTS.Close
Set oTS = Nothing
Set oFSO = Nothing
WScript.Quit 0
/gaz66
Модель B-66
/gaz_backup_wheel
Зап. колесо
/gaz_utility
Ремонтные части
/kamaz6520
Модель C-6520
/kamaz6522
Модель C-6522
/kirovets700
Модель K-700
/kirovets_grabber
Приспособа
/kirovets_protector
Защита кабины
/kraz255
Модель C-255
/kraz_backup_wheel
Зап. колесо
/kraz_carriage
Бортовая платформа
/kraz_cart
Платформа лесовоза
/kraz_cart_crane
Автономн. лес. кран
/kraz_cistern
Топливная цистерна
/kraz_markers
Маячки
/kraz_protector
Защита кабины
/kraz_roofpack
Зап. колесо
/kraz_tent
Гаражные части
/kraz_tractor
Сцепка
/kraz_utility
Ремонтные части
/load_logs_long
Длинные бревна
/load_logs_medium
Средние бревна
/load_logs_medium_wide
Средние бревна
/load_logs_short
Короткие бревна
/load_logs_short_short
Короткие бревна
/load_logs_short_crane
Короткие бревна
/load_logs_short_trailer
Короткие бревна
/maz535
Модель D-535
/maz7310
Модель E-7310
/maz_big_cart
Платформа лесовоза
/maz_big_tractor
Сцепка
/maz_big_utility
Ремонтные части
/maz_tractor
Сцепка
/trailer_cart
Прицеп-роспуск
/trailer_cistern
Полуприцеп-цистерна
/trailer_kraz_cart
Удлиненный роспуск
/trailer_short_cart
Бортовой прицеп
/trailer_tent
Полуприцеп-фургон
/trailer_tent_cart
Тележка-фургон
/trailer_utility
Борт. полуприцеп
/trailer_utility_cart
Сервисная тележка
/trailer_gaz
Гаражная тележка
/uaz469
Модель A-469
/uaz_bumper
Силовой бампер
/uaz_illumination
Маячки
/uaz_snorkel
Шноркель
/uaz_trunk
Ремонтные части
/ural4320
Модель C-4320
/ural_backup_wheel
Зап. колесо
/ural_cart
Платформа с краном
/ural_crane_support
Опора для крана
/ural_exhaust
Пожаробезопасный выхлоп
/zil130
Модель B-130
/zil_carriage
Бортовая платформа
/zil_utility
Ремонтные части