Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: Скрипт, меняющий значение строки в INI-файле 
Author Message
Volniy



PostPosted: Sun May 16, 2010 13:41    Post subject: Reply with quote

Замена секции
Внимание: существующая в ини-файле секция переписывается полностью!
Code:
'==========================================================
' Замена секции в wincmd.ini и рестарт TC
'==========================================================
Option Explicit
Dim WSH, TCS
Set WSH = CreateObject("WScript.Shell")
Set TCS = CreateObject("TCScript.Helper")

' Примеры замены секции:
' 1) Записываемые данные - из другого ini-файла
TCS.INIWriteSection TCS.MainINI, "configuration2" ,TCS.INIReadSection("C:\some.ini","some_section")

' 2) Записываемые данные секции формируются на лету
TCS.INIWriteSection TCS.MainINI, "configuration3" ,"FirstPar=0" & Chr(0) & "SecondPar=1" & Chr(0) & "ThirdPar=-1" & Chr(0)

'Рестарт TC
RestartTotal
Set TCS = Nothing
Set WSH = Nothing
WScript.Quit

Sub RestartTotal
  Dim TCexe, Timeout, QuitByTimeOut
  TCexe = """" & TCS.TCPath & "\totalcmd.exe"""
  'Завершаем работу ТС
  TCS.SendCommand "cm_Exit", True

  'Ожидание завершения работы ТС
  Timeout = 3000 ' Сколько ждать выключения в мсек
  Do
     Timeout = Timeout - 100
     If Timeout < 0 Then QuitByTimeOut = True: Exit Do
     WScript.Sleep 100
  Loop While TCS.IsRunningTC

  'Запускаем новый экземпляр программы
  If Not QuitByTimeOut Then WSH.Run TCexe

End Sub
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group