Tak je tam několik nesrovnalostí.
1. soubory nemají stejný počet řádků => Smyčka Do While - Loop musí být nastavena na soubor s menším počtem řádků (Jinak skript skončí chybou)
2. za tvých podmínek nelze řádky v jednom souboru nahradit, proto se vytvoří soubor nový.
3. zjednodušení "každý třetí řádek" u programátora neplatí. Je třeba říci, první řádek stejný, druhý řádek nahrazen, třetí řádek stejný a to až do vyčerpání řádků.
Skript vytvoří další textový soubor "C:\GO\big5_string0.txt", kam zapisuje podle pravidel bodu 3). Cesty k souborům jsou v const proměnných. Ukončení práce oznámí.
Kód okopíruj a vlož do notepadu či jiného jednoduchého textového editoru. Ulož. Změň příponu z .txt na .vbs. Spustíš jej poklepáním.
Zkontroluj výsledek zda souhlasí.
Kód: Vybrat vše
'******************************************************
'*       Script slučuje dva soubory do jednoho        *
'*           První řádek ze souboru1                  *
'*           Druhý řádek ze souboru2                  *
'*           Třetí řádek ze souboru1                  *
'*            Vytvořeno pro PC-HELP                   *
'*            Etienn@Script v. 1.0                    *
'******************************************************
Option Explicit
Dim fso, Text1, Text2, txtStream0, txtStream, txtStream2
Const file1 = "C:\GO\big5_string.txt"
Const file2 = "C:\GO\big5_string2.txt"
Const fileout = "C:\GO\big5_string0.txt"
' vytvoreni objektu pro pristup k souborum
Set fso = CreateObject("Scripting.FileSystemObject")
Set txtStream = fso.OpenTextFile(file1)
Set txtStream2 = fso.OpenTextFile(file2)
Set txtStream0 = fso.OpenTextFile(fileout, 2, True)
Do While Not (txtStream2.AtEndOfStream)
   
   Text1 = txtStream.ReadLine
      Text2 = txtStream2.ReadLine
      txtStream0.WriteLine Text1   
  
   Text1 = txtStream.ReadLine
      Text2 = txtStream2.ReadLine
      txtStream0.WriteLine Text2
      
   Text1 = txtStream.ReadLine
      Text2 = txtStream2.ReadLine
      txtStream0.WriteLine Text1   
            
Loop   
txtStream0.Close
MsgBox "Script proběhl", vbOKOnly + vbInformation, "Zpráva"
Set fso = Nothing
Druhý případ bude poněkud složitější.
Skript bude muset jít na řádek  prvního souboru, pak projít celý druhý soubor, aby vyhledal Item vnum, pak pohledat text mezi uvozovkami hashname a nahradit jej a totéž mezi uvozovkami name. Pak uložit změněný řádek. To sice není nemožné (alespoň myslím), ale bude to chvíli trvat.