hey,
ja das hat mir gefehlt und wie mache ich dann die abfrage anschliessend ini lesen" Richtigen eintrag finden" ?
Und an zur quelle den ordner kopieren ?
hey,
ja das hat mir gefehlt und wie mache ich dann die abfrage anschliessend ini lesen" Richtigen eintrag finden" ?
Und an zur quelle den ordner kopieren ?
Hey,
schau dir mal in der hilfe.
DriveMapAdd
[/autoit]an.
bin ja schonmal weiter gekommen aber jetzt geht es garnicht mehr weiter??
So sieht jetzt meine Gui aus:
Jeztz möchte ich mein Button wieder herstellen aktivieren um einen Bestimmten order wieder an die stelle zu kopieren wo er auch her kam
ich habe in jedem Verzeichnis eine ini die So aussieht:
[Quelle-Ziele]
C:\filemon=C:\backupordner\25.09.2009
C:\cisco=C:\backupordner\25.09.2009
C:\Forms=C:\backupordner\25.09.2009
Wie kann ich das jetzt meiner Treeview folgendes mitgeben also makieren und dann wiederherstellen " Dircopy Ziele, quelle" kann mir jemand helfen?
Hier mein Aktueller Code:
#include <ButtonConstants.au3>
#include <DateTimeConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <TreeViewConstants.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
#include <File.au3>
#include <Constants.au3>
#include <Date.au3>
#include <array.au3>
#include<GuiTreeView.au3>
Local $arCheckBox[7]
Global $ini = @SystemDir & '\save.ini'
Global $path = @SystemDir & '\lastsave'
Global $hfile = @SystemDir & '\lastsave.log'
Global $line
Global $width = 918, $height = 600
$Form1 = GUICreate("Sicherung", 918, 600, 219, 121)
$Tab1 = GUICtrlCreateTab(16, 24, 873, 560)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
$TabSheet1 = GUICtrlCreateTabItem("Backup")
$arCheckBox[6] = GUICtrlCreateCheckbox("Montag", 24, 361, 57, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$arCheckBox[5] = GUICtrlCreateCheckbox("Dienstag", 88, 361, 57, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$arCheckBox[4] = GUICtrlCreateCheckbox("Mittwoch", 152, 361, 65, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$arCheckBox[3] = GUICtrlCreateCheckbox("Donnerstag", 224, 361, 73, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$arCheckBox[2] = GUICtrlCreateCheckbox("Freitag", 304, 361, 57, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$arCheckBox[1] = GUICtrlCreateCheckbox("Samstag", 368, 361, 57, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$arCheckBox[0] = GUICtrlCreateCheckbox("Sonntag", 432, 361, 65, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Time = GUICtrlCreateDate('15:00', 24, 393, 70, 21, $DTS_TIMEFORMAT)
;GUICtrlCreateDate('00:00:00', 10, 10, 100, 30, $DTS_TIMEFORMAT)
$DTM_SETFORMAT_ = 0x1032
$style = "HH:mm"
GUICtrlSendMsg($Time, $DTM_SETFORMAT_, 0, $style)
$hListView = GUICtrlCreateListView("Quelle|Ziel", 24, 73, 850, 246)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 420)
GUICtrlSendMsg(-1, $LVSCW_AUTOSIZE_USEHEADER, 1, 420)
$hListView1 = GUICtrlCreateListView("Quelle|Ziel", 24, 420, 850, 150)
GUICtrlSendMsg($hListView1, $LVM_SETCOLUMNWIDTH, 0, 420)
GUICtrlSendMsg($hListView1, $LVSCW_AUTOSIZE_USEHEADER, 1, 420)
GUICtrlSendMsg(-1, 0x101E, 0, 50)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$add = GUICtrlCreateButton("+", 24, 321, 75, 25)
GUICtrlSetFont(-1, 20, 400, 0, "Arial")
$del = GUICtrlCreateButton("-", 104, 321, 75, 25)
GUICtrlSetFont(-2, 20, 400, 0, "Arial")
$Task_Plannen = GUICtrlCreateButton("Task_Planen", 100, 390, 75, 25)
$Save = GUICtrlCreateButton("Save-Settings", 800, 49, 75, 25)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Quelle = GUICtrlCreateLabel("Quelle", 24, 49, 34, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Sichern = GUICtrlCreateButton("Sichern", 184, 321, 75, 25)
GUICtrlSetFont(-1, 15, 400, 0, "Arial")
$TabSheet2 = GUICtrlCreateTabItem("Restore")
$Input2 = GUICtrlCreateInput("Input2", 31, 81, 760, 22)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Restore_Ordner = GUICtrlCreateLabel("Restore_Ordner", 24, 57, 79, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Quellpfadzeigen = GUICtrlCreateButton("Quellpfadzeigen", 800, 129, 83, 25)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$hTreeView = GUICtrlCreateTreeView(31, 137, 760, 410)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Wiederherstellen = GUICtrlCreateButton("Wiederherstellen", 800, 353, 83, 25)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$suchenBackup = GUICtrlCreateButton("...", 800, 81, 30, 25)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$list = GUICtrlCreateButton("List", 835, 81, 30, 25)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Verfuegbare_sicherungen = GUICtrlCreateLabel("Verfuegbare_sicherungen", 48, 113, 126, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Offnen = GUICtrlCreateButton("Offnen", 800, 321, 83, 25)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
Global $hFiles = GUICtrlCreateCheckbox('inkl. Dateien', $width - 100, 10, 80, 16)
Global $bFiles = False
GUICtrlCreateTabItem("")
GUISetState(@SW_SHOW)
If FileExists(@ScriptDir & '\save.ini') Then
$ini = IniRead(@ScriptDir & '\save.ini', "Wochentag", "tage", 0)
$bordner = IniRead(@ScriptDir & '\save.ini', "Last-Restore-Ordner", "Pfad", 0)
If Not $bordner = "" Then GUICtrlSetData($Input2, $bordner)
For $i = 6 To 0 Step -1
If BitAND($ini, 2 ^ $i) Then
GUICtrlSetState($arCheckBox[$i], $GUI_CHECKED)
EndIf
Next
Local $aData = IniReadSection(@ScriptDir & '\save.ini', "Quelle-Ziele")
; _ArrayDisplay($aData)
For $i = 1 To UBound($aData) - 1
GUICtrlCreateListViewItem($aData[$i][0] & "|" & $aData[$i][1], $hListView)
Next
EndIf
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $add
$sfolder = FileSelectFolder("Wählen den zu Sichernden Ordner:", 'c:')
;if @error Then Return
$dfolder = FileSelectFolder("Wählen Sie den Ziel Ordner:", 'c:')
GUICtrlCreateListViewItem($sfolder & '|' & $dfolder, $hListView)
;if @error Then Return
$hWnd = $hListView
If FileExists($path & ".log") Then FileDelete($path & ".log")
FileWrite($path & ".log", _GUICtrlListView_Export($hWnd, 1, ','))
Case $del
_GUICtrlListView_DeleteItemsSelected($hListView)
$hWnd = $hListView
If FileExists($path & ".log") Then FileDelete($path & ".log")
FileWrite($path & ".log", _GUICtrlListView_Export($hWnd, 1, ','))
Case $Sichern
_iniwrite()
_xcopy()
Case $Task_Plannen
_iniwrite()
Case $Save
_iniwrite()
Case $suchenBackup
$source_path = FileSelectFolder("Wählen den zu BackupOrdner:", 'c:')
If Not $source_path = "" Then GUICtrlSetData($Input2, $source_path)
IniWrite(@ScriptDir & '\save.ini', 'Last-Restore-Ordner', 'Pfad', $source_path)
log_ini_treeview()
Case $list
log_ini_treeview()
EndSwitch
WEnd
Func log_ini_treeview()
[/autoit] [autoit][/autoit] [autoit]$source_path = GUICtrlRead($Input2)
$searchstring = "log.ini" ; z.B. "crash20060905.txt"
$n = 0 ; Anzahl der kopierten Dateien
$FolderList = _FileListToArray($source_path & '\', "*", 2) ; Flag 2 = nur Ordner
If (Not IsArray($FolderList)) And (@error = 1) Then
MsgBox(0, "", "Keine Ordner gefunden.")
Exit
EndIf
For $i = 1 To $FolderList[0]
$FileList = _FileListToArray($source_path & '\' & $FolderList[$i])
If IsArray($FileList) Then
; _ArrayDisplay($FileList)
$spath = $source_path & '\' & $FolderList[$i] & '\'
If FileExists($source_path & '\' & $FolderList[$i] & '\log.ini') Then
Local $aCount = _GUICtrlTreeView_CreateDirectory($hTreeView, $spath, $bFiles)
EndIf
EndIf
Next
EndFunc ;==>log_ini_treeview
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit];===============================================================================
; Function Name: _GUICtrlTreeView_CreateDirectory($hTreeView, $sPath, $bFiles)
; Description:: erstellt ein TreeView mit Verzeichnissen (+Dateien)
; Parameter(s): $hTreeView = ControlID/Handle des TreeViews
; $sPath = Verzeichnispfad, der dargestellt werden soll
; $bFiles = True = auch Dateien anzeigen, False = nur Verzeichnisse
; Requirement(s): #include<GuiTreeView.au3>
; Return Value(s): Array mit Anzahl der Verzeichnisse=[0] und Dateien=[1]
; 0 und @error = 1, wenn der Pfad nicht existiert bzw. kein Verzeichnis ist
; 0 und @error = 2, wenn das FileSystemObject nicht erstellt werden konnte
; Author(s): Oscar (http://www.autoit.de)
;===============================================================================
Func _GUICtrlTreeView_CreateDirectory($hTreeView, $spath, $bFiles = False)
Local $hFileItem, $FolderColor = 0x0000FF, $Folder, $aCount[2] = [0, 0]
If Not StringInStr(FileGetAttrib($spath), 'D') Then Return SetError(1, 0, 0)
$spath = FileGetLongName($spath)
Local $oFSO = ObjCreate('Scripting.FileSystemObject')
If @error Then Return SetError(2, 0, 0)
_GUICtrlTreeView_BeginUpdate($hTreeView)
; _GUICtrlTreeView_DeleteAll(GUICtrlGetHandle($hTreeView))
Local $hTreeViewItem = GUICtrlCreateTreeViewItem($spath, $hTreeView)
GUICtrlSetColor(-1, $FolderColor)
_GUICtrlTreeView_SetIcon($hTreeView, $hTreeViewItem, 'shell32.dll', 0)
$Folder = $oFSO.GetFolder($spath)
_CreateDirectoryRecursive($hTreeView, $Folder, $hTreeViewItem, $bFiles, $aCount)
If $bFiles Then
For $Files In $Folder.Files
$hFileItem = GUICtrlCreateTreeViewItem($Files.Name, $hTreeViewItem)
$aCount[1] += 1
Next
EndIf
_GUICtrlTreeView_SetIcon($hTreeView, $hTreeViewItem, 'shell32.dll', 3, 2)
_GUICtrlTreeView_SetIcon($hTreeView, $hTreeViewItem, 'shell32.dll', 110, 4)
_GUICtrlTreeView_EndUpdate($hTreeView)
GUICtrlSetState($hTreeViewItem, $GUI_EXPAND)
$oFSO = ''
Return $aCount
EndFunc ;==>_GUICtrlTreeView_CreateDirectory
Func _CreateDirectoryRecursive($hTreeView, $Folder, $ItemOld, $bFiles, ByRef $aCount)
Local $hFolderItem, $hFileItem, $FolderColor = 0x0000FF
For $Subfolder In $Folder.SubFolders
$hFolderItem = GUICtrlCreateTreeViewItem($Subfolder.Name, $ItemOld)
GUICtrlSetColor(-1, $FolderColor)
_GUICtrlTreeView_SetIcon($hTreeView, $hFolderItem, 'shell32.dll', 3, 2)
_GUICtrlTreeView_SetIcon($hTreeView, $hFolderItem, 'shell32.dll', 110, 4)
$aCount[0] += 1
_CreateDirectoryRecursive($hTreeView, $Subfolder, $hFolderItem, $bFiles, $aCount)
If $bFiles Then
For $Files In $Subfolder.Files
$hFileItem = GUICtrlCreateTreeViewItem($Files.Name, $hFolderItem)
$aCount[1] += 1
Next
EndIf
Next
EndFunc ;==>_CreateDirectoryRecursive
Func _iniwrite()
;FileDelete($ini)
IniDelete(@ScriptDir & '\save.ini', 'Quelle-Ziele')
Local $checked = 0
For $i = 0 To 6
If BitAND(GUICtrlRead($arCheckBox[$i]), $GUI_CHECKED) Then
$checked = BitOR($checked, 2 ^ $i)
EndIf
Next
For $i = 0 To _GUICtrlListView_GetItemCount($hListView) - 1;hier zählst du die einträge
$var1 = _GUICtrlListView_GetItemText($hListView, $i, 0)
$var2 = _GUICtrlListView_GetItemText($hListView, $i, 1)
;IniWrite('save.ini', 'Backup', 'Quelle'&$i, $var1)
;IniWrite('save.ini', 'Backup', 'Ziel'&$i, $var2)
;IniWrite('save.ini', 'Quelle-Ziele', $var1&$i, $var2&$i)
IniWrite(@ScriptDir & '\save.ini', 'Quelle-Ziele', $var1, $var2)
Next
; Next
IniWrite(@ScriptDir & '\save.ini', 'Wochentag', 'tage', $checked)
;MsgBox(0, "", $Time)
;IniWrite('save.ini', 'Startzeit', 'Uhr', GUICtrlRead($Time))
IniWrite(@ScriptDir & '\save.ini', 'Startzeit', 'Uhr', StringReplace(GUICtrlRead($Time), ':', ''))
EndFunc ;==>_iniwrite
Func _iniread()
#cs Muster-INI
[sicherung]
tage=42
#ce
; 2 + 8 + 32 = Mo/Mi/Fr
; aus INI lesen
Local $savedays = IniRead(@ScriptDir & '\save.ini', 'sicherung', 'tage', 0)
; prüfen ob aktueller Tag für Sicherung vorgesehen ist
If BitAND($savedays, 2 ^ (@WDAY - 1)) Then
; starte Sicherung
EndIf
EndFunc ;==>_iniread
Func _GUICtrlListView_Export($hWnd, $exType = 0, $Delim = Default) ; $exType=0 Array / $exType=1 String
If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd)
Local $row = _GUICtrlListView_GetItemCount($hWnd)
If $exType Then
If $Delim <> Default Then Local $oldDelim = Opt('GUIDataSeparatorChar', $Delim)
Local $sOut = ''
For $i = 0 To $row - 1
$sOut &= _GUICtrlListView_GetItemTextString($hWnd, $i) & @CRLF
Next
If $Delim <> Default Then Opt('GUIDataSeparatorChar', $oldDelim)
Return $sOut
EndIf
Local $col = _GUICtrlListView_GetColumnCount($hWnd)
Local $aOut[$row][$col]
If $col = 1 Then
ReDim $aOut[$row]
For $i = 0 To UBound($aOut) - 1
$aOut[$i] = _GUICtrlListView_GetItemText($hWnd, $i)
Next
Return $aOut
EndIf
For $i = 0 To UBound($aOut) - 1
For $j = 0 To UBound($aOut, 2) - 1
$aOut[$i][$j] = _GUICtrlListView_GetItemText($hWnd, $i, $j)
Next
Next
Return $aOut
EndFunc ;==>_GUICtrlListView_Export
Func _Load() ; Datenbank-Datei laden
_GUICtrlListView_DeleteAllItems($hListView) ; Das Handle eben noch bestimmen (s. Anfang des Threads)
Local $sItem
; $FileOpenDialog = FileOpenDialog("Pc Liste Wählen", @ScriptDir & "\", "Pc Liste (*.txt;*.csv)", 1 + 4)
Local $hfile = FileOpen(@ScriptDir & '\lastsave.log', 0) ; Datei zum lesen öffnen
If $hfile <> -1 Then ; wenn das öffnen erfolgreich war, dann...
_GUICtrlListView_BeginUpdate($hListView) ; Listview sperren
While True ; Endlosschleife
$sItem = FileReadLine($hfile) ; Zeile aus der Datei lesen
If @error Then ExitLoop ; wenn das Ende der Datei erreicht ist, dann Endlosschleife verlassen
GUICtrlCreateListViewItem($sItem, $hListView) ; mit den eingelesenen Daten einen neuen Listview-Eintrag erstellen
WEnd
_GUICtrlListView_EndUpdate($hListView) ; Listview wieder freigeben
FileClose($hfile) ; Datei schließen
EndIf
EndFunc ;==>_Load
Func CopyWithProgress($srcDir, $destDir)
$date = _DateTimeFormat(_NowCalc(), 2)
If StringRight($srcDir, 1) = "\" Then $srcDir = StringLeft($srcDir, StringLen($srcDir) - 1)
If StringRight($destDir, 1) <> "\" Then $destDir = $destDir & "\"
If Not FileExists($destDir) Then DirCreate($destDir)
;$srcSize = DirGetSize($srcDir, 1)
;$1_percent = $srcSize[0] / 100
;Run('XCOPY "'& $srcDir & '" "' & $destDir & '" /D /S /E /V /C /H /R /O /Y')
$lastpath = StringTrimLeft($srcDir, StringInStr($srcDir, "\", "", -1))
; $TSDIS = Run(@ComSpec & " /c " & @SystemDir & '\xcopy ' & $srcDir & ' ' & $destDir & $lastpath & '\ /D /S /E /V /C /H /R /Y', "", @SW_HIDE)
Run(@ComSpec & " /c " & @SystemDir & '\xcopy "' & $srcDir & '" "' & $destDir & $date & '\' & $lastpath & '\" /D /S /E /V /C /H /R /Y /F >' & @ScriptDir & '\xcopy.txt', "", @SW_SHOW)
$winpos = WinGetPos("Sicherung")
Sleep(1000)
While ProcessExists("xcopy.exe")
ToolTip('Bitte warten........' & @CRLF & 'copy läuft....' & @CRLF & $srcDir & ' ' & $destDir & $lastpath & $date, $winpos[0] + $winpos[2] / 2, $winpos[1] + $winpos[3] / 3) ; sollte mittig zur Gui stehen, oder?
Sleep(100) ; hatte ich vergessen um CPU runterzufahren....
WEnd
ToolTip('')
_FileReadToArray(@ScriptDir & "\xcopy.txt", $line)
For $i = 1 To UBound($line) - 1
$line[$i] = StringReplace($line[$i], ' -> ', '|') ; der String wird ersetzt durch den String mit der Eingabe
GUICtrlCreateListViewItem($line[$i], $hListView1)
Next
;FileDelete (@Scriptdir & "\xcopy.txt")
Local $aData = IniReadSection(@ScriptDir & "\save.ini", "Quelle-Ziele")
; _ArrayDisplay($aData)
For $i = 1 To UBound($aData) - 1
IniWrite($destDir & $date & '\Log.ini', 'Quelle-Ziele', $aData[$i][0], $aData[$i][1] & '\' & $date)
ConsoleWrite($destDir & $date & '\' & $lastpath & '\Log.ini')
Next
EndFunc ;==>CopyWithProgress
Func _xcopy()
For $i = 0 To _GUICtrlListView_GetItemCount($hListView) - 1;hier zählst du die einträge
$var1 = _GUICtrlListView_GetItemText($hListView, $i, 0)
$var2 = _GUICtrlListView_GetItemText($hListView, $i, 1)
CopyWithProgress($var1, $var2)
;IniWrite(@ScriptDir & '\Log.ini', 'Quelle-Ziele', $var1, $var2)
Next
[/autoit] [autoit][/autoit] [autoit]EndFunc ;==>_xcopy
[/autoit] [autoit][/autoit] [autoit]Func _format()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Dim $sFilePath = @ScriptDir & '\lastsave.log'
Dim $outFile = @ScriptDir & '\lastsave.log'
Dim $aArray
_FileReadToArray($sFilePath, $aArray) ; datei in Array lesen
For $i = 1 To $aArray[0] ; zeilenweise durchgehen
[/autoit] [autoit][/autoit] [autoit]$aArray[$i] = StringReplace($aArray[$i], ',', '|') ; der String wird ersetzt durch den String mit der Eingabe
Next
If FileExists($outFile) Then FileDelete($outFile) ; falls Ausgabedatei bereits vorhanden - löschen
_FileWriteFromArray($outFile, $aArray, 1) ; vom Array in Ausgabedatei schreiben
EndFunc ;==>_format
[/autoit]ich dachte du kannst die exe garnicht starten ja habe den gleichen fehler wie du
Sorry wegen der verwirrung ![]()
Hey,
Ich wollte euch mal mein Sichrungstoll Vorstellen und gleich mit meinem neuen Problem bekannt machen und um eure Hilfe bitten.
Hinzufügen und entfernen Funktioniert
Sichern Funktioniert
Ini wegschreiben funktioniert
task funktion bin noch beim srvany "fast fertig"
Jetzt geht es zu meinem Problem Restore:
So sieht meine Verzeichnis Struktur aus:
\%backupordner%\aktuellesdatum\log.ini
\%backupordner%\aktuellesdatum\ordner1
\%backupordner%\aktuellesdatum\ordner2
\%backupordner%\aktuellesdatum\ordner3
\%backupordner%\aktuellesdatum\log.ini
\%backupordner%\aktuellesdatum\ordner1
\%backupordner%\aktuellesdatum\ordner2
\%backupordner%\aktuellesdatum\ordner3
jetzt will ich alle ordner die im %backupordner% liegen in der Treeview Darstellen die eine Log.ini im root Verzeichnis haben.
so sieht meine log.ini aus:
[Quelle-Ziele]
c:\apps\test=f:\backup\29.09.2009
c:\apps\test2=f:\backup\29.09.2009
c:\apps\test3=f:\backup\29.09.2009
c:\apps\test4=f:\backup\29.09.2009
c:\apps\test5=f:\backup\29.09.2009
Jetzt zu meinem Problem
1.wie mache ich das alle order in einer Treeview darzustellen die eine log.ini im root verzeichnis haben "\%backupordner%\aktuellesdatum\" darzustellen?
2.Wie mache er dann den Ordner den ich anklicke das er dann die ini einliest damit er die daten,
wieder dort hin kopiert woher die auch kamen also an die quelle:
#include <ButtonConstants.au3>
#include <DateTimeConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <StaticConstants.au3>
#include <TabConstants.au3>
#include <TreeViewConstants.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>
#include <File.au3>
#include <Constants.au3>
#include <Date.au3>
#include <array.au3>
Local $arCheckBox[7]
Global $ini = @SystemDir & '\save.ini'
Global $path = @SystemDir & '\lastsave'
Global $hfile = @SystemDir & '\lastsave.log'
Global $line
$Form1 = GUICreate("Sicherung", 918, 600, 219, 121)
$Tab1 = GUICtrlCreateTab(16, 24, 873, 560)
GUICtrlSetResizing(-1, $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
$TabSheet1 = GUICtrlCreateTabItem("Backup")
$arCheckBox[6] = GUICtrlCreateCheckbox("Montag", 24, 361, 57, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$arCheckBox[5] = GUICtrlCreateCheckbox("Dienstag", 88, 361, 57, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$arCheckBox[4] = GUICtrlCreateCheckbox("Mittwoch", 152, 361, 65, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$arCheckBox[3] = GUICtrlCreateCheckbox("Donnerstag", 224, 361, 73, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$arCheckBox[2] = GUICtrlCreateCheckbox("Freitag", 304, 361, 57, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$arCheckBox[1] = GUICtrlCreateCheckbox("Samstag", 368, 361, 57, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$arCheckBox[0] = GUICtrlCreateCheckbox("Sonntag", 432, 361, 65, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Time = GUICtrlCreateDate('15:00', 24, 393, 70, 21, $DTS_TIMEFORMAT)
;GUICtrlCreateDate('00:00:00', 10, 10, 100, 30, $DTS_TIMEFORMAT)
$DTM_SETFORMAT_ = 0x1032
$style = "HH:mm"
GUICtrlSendMsg($Time, $DTM_SETFORMAT_, 0, $style)
$hListView = GUICtrlCreateListView("Quelle|Ziel", 24, 73, 850, 246)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 420)
GUICtrlSendMsg(-1, $LVSCW_AUTOSIZE_USEHEADER, 1, 420)
$hListView1 = GUICtrlCreateListView("Quelle|Ziel", 24, 420, 850, 150)
GUICtrlSendMsg($hListView1, $LVM_SETCOLUMNWIDTH, 0, 420)
GUICtrlSendMsg($hListView1, $LVSCW_AUTOSIZE_USEHEADER, 1, 420)
GUICtrlSendMsg(-1, 0x101E, 0, 50)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$add = GUICtrlCreateButton("+", 24, 321, 75, 25)
GUICtrlSetFont(-1, 20, 400, 0, "Arial")
$del = GUICtrlCreateButton("-", 104, 321, 75, 25)
GUICtrlSetFont(-2, 20, 400, 0, "Arial")
$Task_Plannen = GUICtrlCreateButton("Task_Planen", 100, 390, 75, 25)
$Save = GUICtrlCreateButton("Save-Settings", 800, 49, 75, 25)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Quelle = GUICtrlCreateLabel("Quelle", 24, 49, 34, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Sichern = GUICtrlCreateButton("Sichern", 184, 321, 75, 25)
GUICtrlSetFont(-1, 15, 400, 0, "Arial")
$TabSheet2 = GUICtrlCreateTabItem("Restore")
$Input2 = GUICtrlCreateInput("Input1", 31, 81, 760, 22)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Restore_Ordner = GUICtrlCreateLabel("Restore_Ordner", 24, 57, 79, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Quellpfadzeigen = GUICtrlCreateButton("Quellpfadzeigen", 800, 129, 83, 25)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$TreeView1 = GUICtrlCreateTreeView(31, 137, 760, 241)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Wiederherstellen = GUICtrlCreateButton("Wiederherstellen", 800, 353, 83, 25)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Button1 = GUICtrlCreateButton("suchen", 800, 81, 83, 25)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Verfuegbare_sicherungen = GUICtrlCreateLabel("Verfuegbare_sicherungen", 48, 113, 126, 17)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
$Offnen = GUICtrlCreateButton("Offnen", 800, 321, 83, 25)
GUICtrlSetFont(-1, 8, 400, 0, "Arial")
GUICtrlCreateTabItem("")
GUISetState(@SW_SHOW)
If FileExists(@ScriptDir & '\save.ini') Then
$ini = IniRead(@ScriptDir & '\save.ini', "Wochentag", "tage", 0)
For $i = 6 To 0 Step -1
If BitAND($ini, 2 ^ $i) Then
GUICtrlSetState($arCheckBox[$i], $GUI_CHECKED)
EndIf
Next
Local $aData = IniReadSection(@ScriptDir & '\save.ini', "Quelle-Ziele")
; _ArrayDisplay($aData)
For $i = 1 To UBound($aData) - 1
GUICtrlCreateListViewItem($aData[$i][0] & "|" & $aData[$i][1], $hListView)
Next
EndIf
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $add
$sfolder = FileSelectFolder("Wählen den zu Sichernden Ordner:", 'c:')
;if @error Then Return
$dfolder = FileSelectFolder("Wählen Sie den Ziel Ordner:", 'c:')
GUICtrlCreateListViewItem($sfolder & '|' & $dfolder, $hListView)
;if @error Then Return
$hWnd = $hListView
If FileExists($path & ".log") Then FileDelete($path & ".log")
FileWrite($path & ".log", _GUICtrlListView_Export($hWnd, 1, ','))
Case $del
_GUICtrlListView_DeleteItemsSelected($hListView)
$hWnd = $hListView
If FileExists($path & ".log") Then FileDelete($path & ".log")
FileWrite($path & ".log", _GUICtrlListView_Export($hWnd, 1, ','))
Case $Sichern
_iniwrite()
_xcopy()
Case $Task_Plannen
_iniwrite()
Case $Save
_iniwrite()
EndSwitch
WEnd
Func _iniwrite()
;FileDelete($ini)
IniDelete(@ScriptDir & '\save.ini', 'Quelle-Ziele')
Local $checked = 0
For $i = 0 To 6
If BitAND(GUICtrlRead($arCheckBox[$i]), $GUI_CHECKED) Then
$checked = BitOR($checked, 2 ^ $i)
EndIf
Next
For $i = 0 To _GUICtrlListView_GetItemCount($hListView) - 1;hier zählst du die einträge
$var1 = _GUICtrlListView_GetItemText($hListView, $i, 0)
$var2 = _GUICtrlListView_GetItemText($hListView, $i, 1)
;IniWrite('save.ini', 'Backup', 'Quelle'&$i, $var1)
;IniWrite('save.ini', 'Backup', 'Ziel'&$i, $var2)
;IniWrite('save.ini', 'Quelle-Ziele', $var1&$i, $var2&$i)
IniWrite(@ScriptDir & '\save.ini', 'Quelle-Ziele', $var1, $var2)
Next
; Next
IniWrite(@ScriptDir & '\save.ini', 'Wochentag', 'tage', $checked)
;MsgBox(0, "", $Time)
;IniWrite('save.ini', 'Startzeit', 'Uhr', GUICtrlRead($Time))
IniWrite(@ScriptDir & '\save.ini', 'Startzeit', 'Uhr', StringReplace(GUICtrlRead($Time), ':', ''))
EndFunc ;==>_iniwrite
Func _iniread()
#cs Muster-INI
[sicherung]
tage=42
#ce
; 2 + 8 + 32 = Mo/Mi/Fr
; aus INI lesen
Local $savedays = IniRead(@ScriptDir & '\save.ini', 'sicherung', 'tage', 0)
; prüfen ob aktueller Tag für Sicherung vorgesehen ist
If BitAND($savedays, 2 ^ (@WDAY - 1)) Then
; starte Sicherung
EndIf
EndFunc ;==>_iniread
Func _GUICtrlListView_Export($hWnd, $exType = 0, $Delim = Default) ; $exType=0 Array / $exType=1 String
If Not IsHWnd($hWnd) Then $hWnd = GUICtrlGetHandle($hWnd)
Local $row = _GUICtrlListView_GetItemCount($hWnd)
If $exType Then
If $Delim <> Default Then Local $oldDelim = Opt('GUIDataSeparatorChar', $Delim)
Local $sOut = ''
For $i = 0 To $row - 1
$sOut &= _GUICtrlListView_GetItemTextString($hWnd, $i) & @CRLF
Next
If $Delim <> Default Then Opt('GUIDataSeparatorChar', $oldDelim)
Return $sOut
EndIf
Local $col = _GUICtrlListView_GetColumnCount($hWnd)
Local $aOut[$row][$col]
If $col = 1 Then
ReDim $aOut[$row]
For $i = 0 To UBound($aOut) - 1
$aOut[$i] = _GUICtrlListView_GetItemText($hWnd, $i)
Next
Return $aOut
EndIf
For $i = 0 To UBound($aOut) - 1
For $j = 0 To UBound($aOut, 2) - 1
$aOut[$i][$j] = _GUICtrlListView_GetItemText($hWnd, $i, $j)
Next
Next
Return $aOut
EndFunc ;==>_GUICtrlListView_Export
Func _Load() ; Datenbank-Datei laden
_GUICtrlListView_DeleteAllItems($hListView) ; Das Handle eben noch bestimmen (s. Anfang des Threads)
Local $sItem
; $FileOpenDialog = FileOpenDialog("Pc Liste Wählen", @ScriptDir & "\", "Pc Liste (*.txt;*.csv)", 1 + 4)
Local $hfile = FileOpen(@ScriptDir & '\lastsave.log', 0) ; Datei zum lesen öffnen
If $hfile <> -1 Then ; wenn das öffnen erfolgreich war, dann...
_GUICtrlListView_BeginUpdate($hListView) ; Listview sperren
While True ; Endlosschleife
$sItem = FileReadLine($hfile) ; Zeile aus der Datei lesen
If @error Then ExitLoop ; wenn das Ende der Datei erreicht ist, dann Endlosschleife verlassen
GUICtrlCreateListViewItem($sItem, $hListView) ; mit den eingelesenen Daten einen neuen Listview-Eintrag erstellen
WEnd
_GUICtrlListView_EndUpdate($hListView) ; Listview wieder freigeben
FileClose($hfile) ; Datei schließen
EndIf
EndFunc ;==>_Load
Func CopyWithProgress($srcDir, $destDir)
$date = _DateTimeFormat(_NowCalc(), 2)
If StringRight($srcDir, 1) = "\" Then $srcDir = StringLeft($srcDir, StringLen($srcDir) - 1)
If StringRight($destDir, 1) <> "\" Then $destDir = $destDir & "\"
If Not FileExists($destDir) Then DirCreate($destDir)
;$srcSize = DirGetSize($srcDir, 1)
;$1_percent = $srcSize[0] / 100
;Run('XCOPY "'& $srcDir & '" "' & $destDir & '" /D /S /E /V /C /H /R /O /Y')
$lastpath = StringTrimLeft($srcDir, StringInStr($srcDir, "\", "", -1))
; $TSDIS = Run(@ComSpec & " /c " & @SystemDir & '\xcopy ' & $srcDir & ' ' & $destDir & $lastpath & '\ /D /S /E /V /C /H /R /Y', "", @SW_HIDE)
Run(@ComSpec & " /c " & @SystemDir & '\xcopy "' & $srcDir & '" "' & $destDir & $date & '\' & $lastpath & '\" /D /S /E /V /C /H /R /Y /F >' & @ScriptDir & '\xcopy.txt', "", @SW_SHOW)
$winpos = WinGetPos("Sicherung")
Sleep(1000)
While ProcessExists("xcopy.exe")
ToolTip('Bitte warten........' & @CRLF & 'copy läuft....' & @CRLF & $srcDir & ' ' & $destDir & $lastpath & $date, $winpos[0] + $winpos[2] / 2, $winpos[1] + $winpos[3] / 3) ; sollte mittig zur Gui stehen, oder?
Sleep(100) ; hatte ich vergessen um CPU runterzufahren....
WEnd
ToolTip('')
_FileReadToArray(@ScriptDir & "\xcopy.txt", $line)
For $i = 1 To UBound($line) - 1
$line[$i] = StringReplace($line[$i], ' -> ', '|') ; der String wird ersetzt durch den String mit der Eingabe
GUICtrlCreateListViewItem($line[$i], $hListView1)
Next
;FileDelete (@Scriptdir & "\xcopy.txt")
Local $aData = IniReadSection(@ScriptDir & "\save.ini", "Quelle-Ziele")
; _ArrayDisplay($aData)
For $i = 1 To UBound($aData) - 1
IniWrite($destDir & $date & '\Log.ini', 'Quelle-Ziele', $aData[$i][0], $aData[$i][1] & '\' & $date)
ConsoleWrite($destDir & $date & '\' & $lastpath & '\Log.ini')
Next
EndFunc ;==>CopyWithProgress
Func _xcopy()
For $i = 0 To _GUICtrlListView_GetItemCount($hListView) - 1;hier zählst du die einträge
$var1 = _GUICtrlListView_GetItemText($hListView, $i, 0)
$var2 = _GUICtrlListView_GetItemText($hListView, $i, 1)
CopyWithProgress($var1, $var2)
;IniWrite(@ScriptDir & '\Log.ini', 'Quelle-Ziele', $var1, $var2)
Next
[/autoit] [autoit][/autoit] [autoit]EndFunc ;==>_xcopy
[/autoit] [autoit][/autoit] [autoit]Func _format()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Dim $sFilePath = @ScriptDir & '\lastsave.log'
Dim $outFile = @ScriptDir & '\lastsave.log'
Dim $aArray
_FileReadToArray($sFilePath, $aArray) ; datei in Array lesen
For $i = 1 To $aArray[0] ; zeilenweise durchgehen
[/autoit] [autoit][/autoit] [autoit]$aArray[$i] = StringReplace($aArray[$i], ',', '|') ; der String wird ersetzt durch den String mit der Eingabe
Next
If FileExists($outFile) Then FileDelete($outFile) ; falls Ausgabedatei bereits vorhanden - löschen
_FileWriteFromArray($outFile, $aArray, 1) ; vom Array in Ausgabedatei schreiben
EndFunc ;==>_format
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func _GetFilesFolder_Rekursiv($sPath, $sExt='*', $iDir=-1, $iRetType=0, $sDelim='0')
Global $oFSO = ObjCreate('Scripting.FileSystemObject')
Global $strFiles = ''
Switch $sDelim
Case '1'
$sDelim = @CR
Case '2'
$sDelim = @LF
Case '3'
$sDelim = ';'
Case '4'
$sDelim = '|'
Case Else
$sDelim = @CRLF
EndSwitch
If ($iRetType < 0) Or ($iRetType > 1) Then $iRetType = 0
If $sExt = -1 Then $sExt = '*'
If ($iDir < -1) Or ($iDir > 1) Then $iDir = -1
_ShowSubFolders($oFSO.GetFolder($sPath),$sExt,$iDir,$sDelim)
If $iRetType = 0 Then
Local $aOut
$aOut = StringSplit(StringTrimRight($strFiles, StringLen($sDelim)), $sDelim, 1)
If $aOut[1] = '' Then
ReDim $aOut[1]
$aOut[0] = 0
EndIf
Return $aOut
Else
Return StringTrimRight($strFiles, StringLen($sDelim))
EndIf
EndFunc
Func _ShowSubFolders($Folder, $Ext='*', $Dir=-1, $Delim=@CRLF)
If Not IsDeclared("strFiles") Then Global $strFiles = ''
If ($Dir = -1) Or ($Dir = 0) Then
For $file In $Folder.Files
If $Ext <> '*' Then
If StringRight($file.Name, StringLen($Ext)) = $Ext Then
$strFiles &= $file.Path & $Delim
EndIf
Else
$strFiles &= $file.Path & $Delim
EndIf
Next
EndIf
For $Subfolder In $Folder.SubFolders
If ($Dir = -1) Or ($Dir = 1) Then $strFiles &= $Subfolder.Path & '\' & $Delim
_ShowSubFolders($Subfolder, $Ext, $Dir, $Delim)
Next
EndFunc
Viellen dank jetzt schon für die vorschläge:
Danke
SubZero
Hey,
du hast es ja hier sehr gut beschrieben aber verstehen tue ich es nicht ???
Auch einige Funktionen liefern von Haus aus ein 2-D Array zurück.
Nehmen wir als Bsp. IniReadSection("filename", "section")
So sieht unsere INI-Datei aus:
[sektion]
schluesselA=1
schluesselB=2
schluesselC=3
schluesselD=4
Jetzt lesen wir die Sektion ein:
#include <array.au3>
Dim $val ; Variable für Array deklarieren
$val = IniReadSection($pathINI, "sektion") ; Sektion einlesen
If (Not IsArray($val)) Then ; Wenn zurückgegebene Variable kein Array ist
MsgBox(0, '', 'INI-Sektion konnte nicht gelesen werden')
Exit
EndIf
_ArrayDisplay($val, 'Inhalt INI-Sektion: [sektion]') ; eingelesenes Array anzeigen
Schauen wir uns den Inhalt des Array an:
$val[0][0] = 4 ; Anzahl der eingelesenen Schlüssel-Wert Paare
$val[1][0] = 'schluesselA' ; Name des Schlüssels
$val[1][1] = 1 ; Wert des Schlüssels
$val[2][0] = 'schluesselB'
$val[2][1] = 2
$val[3][0] = 'schluesselC'
$val[3][1] = 3
$val[4][0] = 'schluesselD'
$val[4][1] = 4
Möchte ich jetzt auf den Wert von 'schluesselC' zugreifen, muß ich das Array nach dem Schlüssel durchsuchen und mir den zugehörigen Wert ausgeben lassen:
Dim $SuchWert, $SuchSchluessel = 'schluesselC'
For $i = 1 To UBound($val) -1
If $val[$i][0] = $SuchSchluessel Then
$SuchWert = $val[$i][1]
ExitLoop
EndIf
Next
MsgBox(0, '', 'gesuchter Wert ist: ' & $SuchWert)
Ich vergleiche also in jedem Element des Array ob der enthaltene Schlüsselname (Position[n][0]) mit meinem gesuchten Namen übereinstimmt.
Wird der Schlüssel gefunden, lese ich den zugehörigen Wert aus (Position[n][1]).
![]()
![]()
![]()
![]()
Beim mir funktionierts ??
Was kriegst du den für einen fehler?
Das steht in der hilfe:
Die Anzahl der zurückgegebenen Elemente steht in $result[0][0]. Wenn ein @error auftaucht, wird kein Array erstellt.
Jetzt bin ich ganz verwirt und das ist auch falsch ??
[autoit]#include <array.au3>
[/autoit][autoit][/autoit][autoit]$array_Inis = _GetFilesFolder_Rekursiv ( @ScriptDir , 'log.ini',0 )
;~ _ArrayDisplay ( $array_Inis )
For $i = 1 To UBound ( $array_Inis )-1
$a = IniReadSection ( $array_Inis[$i], 'Quelle-Ziele' )
_ArrayDisplay ($a)
;$a = 'c:\0rdner1=\\server\share\28.09.2009\ordner1'
;~ $a = 'c:\0rdner1=\\server\share\blub\28.09.2009\ordner1' ; auch längere Pfade möglich
$date = StringRegExp($a[$i][0], '\d{2}\.\d{2}\.\d{4}', 1)
$date = $date[$i][0] & '|'
$local = StringLeft($a[$i][0], StringInStr($a[$i][0], '=')-1) & '|'
[/autoit][autoit][/autoit][autoit]$server = StringRegExp($a[$i][0], '(\\\\\w+\\)(\w+\\)+', 2)
$server = $server[$i][0]
$string = $date[$i][0] & $local[$i][0] & $server[$i][0]
[/autoit][autoit][/autoit][autoit]ConsoleWrite($string[$i][0] & @CRLF)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
Next
![]()
![]()
![]()
![]()
Hey Nuts,
kannst du dir mal meinen beitrag "12" anschauen verstehe den fehler nicht ?
Bitte nicht lachen und nicht fertig machen erklären wäre mir lieber
und mir nicht meine mehr als 400 beiträge vorwerfen ![]()
Das ist auch falsch aber was?
[autoit]#include <array.au3>
[/autoit][autoit][/autoit][autoit]$array_Inis = _GetFilesFolder_Rekursiv ( @ScriptDir , 'log.ini',0 )
;~ _ArrayDisplay ( $array_Inis )
For $i = 1 To UBound ( $array_Inis )-1
$a = IniReadSection ( $array_Inis[$i], 'Quelle-Ziele' )
_ArrayDisplay ($a)
;$a = 'c:\0rdner1=\\server\share\28.09.2009\ordner1'
;~ $a = 'c:\0rdner1=\\server\share\blub\28.09.2009\ordner1' ; auch längere Pfade möglich
$date = StringRegExp($a[$i][$i], '\d{2}\.\d{2}\.\d{4}', 1)
$date = $date[0] & '|'
$local = StringLeft($a[$i][$i], StringInStr($a[$i][$i], '=')-1) & '|'
[/autoit][autoit][/autoit][autoit]$server = StringRegExp($a[$i][$i], '(\\\\\w+\\)(\w+\\)+', 2)
$server = $server[0]
$string = $date & $local & $server
[/autoit][autoit][/autoit][autoit]ConsoleWrite($string & @CRLF)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
Next
Nein so weit komme ich
Array display klappt:
und kriege anschliessend diesen fehler:
==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
$date = StringRegExp($a[$i], '\d{2}\.\d{2}\.\d{4}', 1)
$date = StringRegExp(^ ERROR
???
Was mache ich falsch ?
[autoit]#include <array.au3>
[/autoit][autoit][/autoit][autoit]$array_Inis = _GetFilesFolder_Rekursiv ( @ScriptDir , 'log.ini',0 )
;~ _ArrayDisplay ( $array_Inis )
For $i = 1 To UBound ( $array_Inis )-1
$a = IniReadSection ( $array_Inis[$i], 'Quelle-Ziele' )
_ArrayDisplay ($a)
;$a = 'c:\0rdner1=\\server\share\28.09.2009\ordner1'
;~ $a = 'c:\0rdner1=\\server\share\blub\28.09.2009\ordner1' ; auch längere Pfade möglich
$date = StringRegExp($a[$i], '\d{2}\.\d{2}\.\d{4}', 1)
$date = $date[0] & '|'
$local = StringLeft($a[$i], StringInStr($a[$i], '=')-1) & '|'
[/autoit][autoit][/autoit][autoit]$server = StringRegExp($a[$i], '(\\\\\w+\\)(\w+\\)+', 2)
$server = $server[0]
$string = $date & $local & $server
[/autoit][autoit][/autoit][autoit]ConsoleWrite($string & @CRLF)
[/autoit][autoit][/autoit][autoit][/autoit][autoit]
Next
Würde mich sehr darüber freuen wenn mir jemand erklären würde was ich falsch mache damit ich es mal verstehe
![]()
![]()
![]()
![]()
![]()
ja ne ist klar,
StringRegExp ist für mich immer noch ein buch mit 7 siegeln nur nur StringRegExp ![]()
Aber das wird noch ![]()
Ok das krige ich jetzt hin
noch eine letzte frage habe ich:
Wie kann ich aus dem:
c:\0rdner1=\\server\share\28.09.2009\ordner1
Das machen ?
28.09.2009|c:\0rdner1|\\server\share\
Danke
SubZero
Danke,
es ist nur im ersten odner eine ini
\\server\share\28.09.2009\log.ini
\\server\share\27.09.2009\log.ini
\\server\share\26.09.2009\log.ini
\\server\share\25.09.2009\log.ini
Wie mache ich das und
wie kann ich dann aus dem ergebnis:
Log.ini enthalten oder nicht und anschliessen log.ini lesen und folgende Listview items erstellen?
Datum|Quelle|Backupordner
28.09.2009|c:\0rdner1|\\server\share\
Das ist mein Problem ![]()
Hey,
ich habe ein Problem habe folgende ordner struktur
\\server\share\28.09.2009\ordner1
\\server\share\28.09.2009\ordner2
\\server\share\28.09.2009\ordner3
\\server\share\28.09.2009\ordner4
\\server\share\28.09.2009\ordner5
\\server\share\28.09.2009\log.ini
\\server\share\27.09.2009\ordner1
\\server\share\27.09.2009\ordner2
\\server\share\27.09.2009\ordner3
\\server\share\27.09.2009\ordner4
\\server\share\27.09.2009\ordner5
\\server\share\27.09.2009\log.ini
habe jeweils im ordern "\\server\share\%datum_der_sicherung%\" eine log.ini die so aussieht:
[Quelle-Ziele]
c:\0rdner1=\\server\share\28.09.2009\ordner1
c:\0rdner2=\\server\share\28.09.2009\ordner2
c:\0rdner3=\\server\share\28.09.2009\ordner3
c:\0rdner4=\\server\share\28.09.2009\ordner4
c:\0rdner5=\\server\share\28.09.2009\ordner5
Ich möchte in einer GUI den Ordner:
\\server\share\ angeben und er soll in dann in aller ordner gucken wo eine log.ini ist,
wenn eine Log.ini enthalten dann ein Listview item erstellen.
Der listview eintrag sollte so ausehen:
Datum|Quelle|Backupordner
28.09.2009|c:\0rdner1|\\server\share\
eine idee wie ich das machen kann?
Danke und Gruß
SubZero
Hey,
was mache ich falsch
die erste Listview ist Optimal aufgeteilt die Zweite nicht?
$hListView = GUICtrlCreateListView("Quelle|Ziel", 24, 73, 850, 246)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 420)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 420)
$hListView1 = GUICtrlCreateListView("Quelle|Ziel", 24, 420, 850, 150)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 420)
GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 420)
Danke
Subzero
Also müsste eigentlci so gehen oder:
[autoit]Opt("GUIDataSeparatorChar","->")
[/autoit]aber egal habe jetzt mein text formatiert geht auch so
danke für die unterstützung
GUIDataSeparatorChar Legt das Trennzeichen für Teildaten fest, die mit GUICtrlSetData gesetzt werden.
Das Standardzeichen ist '|'.
Und wie kann man das festlegen ??
finde in der hilfe nichts wie mache ich das ?