#cs
;Standardskript für das kopieren der neuen Bilder und Reg-Keys sowie der S-Werte von einem Netzlaufwerk auf mehrere ABC-PC`2 mit jeweils anderem Script.
#ce

;Feste Variablen
;----------------------------------------------------------------------------------------------
$datei = "X:\allgemeine_scripts\ProgrammABC\ABCupdate.txt"

$dirstart1 = "X:\allgemeine_scripts\ProgrammABC\Bilder\*.*"
$dirstart2 = "X:\allgemeine_scripts\ProgrammABC\RegKeys\*.*"
;$dirstart3 = "X:\allgemeine_scripts\ProgrammABC\ABCupdate.txt"
$dirstart4 = "\C$\Programme\ProgrammABC\Profiles\"
$dirstart5 = "X:\allgemeine_scripts\ProgrammABC\Scripts\*.exe"

$dirziel1 = "\C$\Dokumente und Einstellungen\user1\Anwendungsdaten\ProgrammABC\Profiles"
$dirziel2 = "\C$\Programme\Scripts\Test\"
$dirziel3 = "\C$\Dokumente und Einstellungen\user1\Startmenü\Programme\Autostart\"

$kill = "\C$\Programme\Scripts\taskkill.cmd"
$linkexe = ""
$pcname =

;Dieses Script überprüft, ob auf den Rechnern ein Verzeichnis vorhanden ist
;Falls ja werden die Dateine in das jeweile Verzeichnis lokal auf die HDD kopiert
;----------------------------------------------------------------------------------------------
;Öffnen des Textfiles & prüfen ob erfolgreich geladen
;----------------------------------------------------------------------------------------------
;----------------------------------------------------------------------------------------------
$datei_rn = FileOpen($datei, 0)
;Öffnen des Textfiles & prüfen ob erfolgreich geladen
If $datei_rn = -1 Then
    MsgBox(64, "Fehler", "Die Datei konnte nicht geöffnet werden.")
    Exit
EndIf
;FileClose($datei)

$datei = FileOpen($datei, 0)
;Prüfen des Textfiles, ob dieses ordnungsgemäß geladen wurde
While 1
    $line = FileReadLine($datei)
    If @error <> 0 Then ExitLoop
	;Wenn keine Zeilen mehr da sind beenden
    $Befehl = StringSplit($line,"|")
WEnd
;fileClose($datei)

;----------------------------------------------------------------------------------------------
#include "ABCupdate.txt"
;$CountLines = _FileCountLines("X:\allgemeine_scripts\ProgrammABC\ABCupdate.txt")
$count = _FileCountLines($datei)
For $line = 1 To $count Step +1
    $Befehl = StringSplit(FileReadLine($datei,$line),"|")
Next



$Befehl[0] = $pcname
$Befehl[1] = exe


;----------------------------------------------------------------------------------------------
;Prüfen ob Rechner online & kopieren des Ordners
;----------------------------------------------------------------------------------------------
; Zeilen des Textes einlesen bis EOF
		While 1
			$pcname = FileReadLine($datei_rn)
			If @error = -1 Then ExitLoop
				;Prüfen ob Rechner online
				If Ping($pcname ,250) Then
					;Prüfen ob Verzeichnis vorhanden
					If FileExists ("\\" & $pcname & $dirziel2) Then
						;Kopieren der Bilder
						FileCopy($dirstart1, "\\" & $pcname & $dirziel2)
						;Kopieren der RegKeys
						FileCopy($dirstart2, "\\" & $pcname & $dirziel2)
					EndIf
					;Prüfen ob Verzeichnis vorhanden
					If FileExists("\\" & $pcname & "\C$\Programme\ProgrammABC") =0 Then
						;Legt Verzeichnis an, da nicht vorhanden
						DirCreate("\\" & $pcname & "\C$\Programme\ProgrammABC")
					EndIf
					;Prüfen ob Verzeichnis vorhanden
					If FileExists("\\" & $pcname & "\C$\Dokumente und Einstellungen\user1\Anwendungsdaten\ProgrammABC\Profiles") =0 Then
						;Legt Verzeichnis an, da nicht vorhanden
						DirCreate("\\" & $pcname & "\C$\Dokumente und Einstellungen\user1\Anwendungsdaten\ProgrammABC\Profiles")
					EndIf
						;Kopieren der Schwellwerte
						DirCopy("\\" & $pcname & $dirstart4, "\\" & $pcname & $dirziel1, 1)
						;Beendet laufenedes Script
						Run (@ComSpec & " /c " &  "psexec \\" & $pcname & " -i C:\Programme\Scripts\taskkill.cmd","", @SW_HIDE)
						;Prüfen ob Verzeichnis vorhanden
					If FileExists("\\" & $pcname & $dirziel2) Then
						;Kopiert neues Script
						FileCopy($dirstart5, "\\" & $pcname & $dirziel2, 1)
						;Erstellt eine Verknüpfung im Order Programme/Autostart
						FileCreateShortcut("\\" & $pcname & $dirziel2 & $linkexe, "\\" & $pcname & $dirziel3 & "Scriptlink.lnk", 1)
					EndIf
					;Startet den PC neu
					Run (@ComSpec & " /c " &  "psexec \\" & $pcname & " -i C:\Programme\Scripts\restart.cmd","", @SW_HIDE)
				EndIf
		Wend
;----------------------------------------------------------------------------------------------
;Schließen des Textfiles
FileClose($datei_rn)
;----------------------------------------------------------------------------------------------
;Meldung über Beendigung des Scriptes
MsgBox(64, "Exit", "Das Script wurde erfolgreich beendet")
;----------------------------------------------------------------------------------------------

