Hallo,
es geht um ein FileMove. Ich möchte vorher wissen ob die Datei geöffnet ist, um hinterher nicht festzustellen, dass es nicht funktioniert hat.
Hallo,
es geht um ein FileMove. Ich möchte vorher wissen ob die Datei geöffnet ist, um hinterher nicht festzustellen, dass es nicht funktioniert hat.
Hallo zusammen,
wie das Thema schon zeigt, möchte ich gern wissen, ob und wie es möglich ist, zu prüfen, ob eine Datei geöffnet ist.
Könnt Ihr mir da ein Beispiel zeigen, wie das funktioniert?![]()
MfG Mikki
Hallo,
@Musashi super vielen Dank hat Einwandfrei funktioniert
genau das was ich brauche.
Ist auch recht einfach gehalten und hab´s verstanden ![]()
BugFix : ich werde die Funktion morgen mal in Ruhe testen, da ich heute Abend noch was vor habe
werde berichten.
Gruß Mikki
Hallo zusammen,
danke für die schnellen Antworten. Nein es muss natürlich keine UDF sein.
Die Idee mit Komandozeilensteuerung bzw mit der Windows eigenen Zip-Funktion finde ich gut, und würde für meine Zwecke völlig ausreichen. Dazu aber noch ein paar Fragen:
BugFix : Der Code von der _BuildInZip. Was genau muss ich denn damit machen? Den Code in einer .au3-Datei speichern und einbinden?
@Musashi , oh-ha : Die stand-alone muss aber dann auf jedem Rechner vorhanden sein, richtig? Und wie übergebe ich Pfade an die Kommandozeile? Hat jemand ein Beispiel indem z.B. ganze Ordner samt Inhalt gepackt werden? Habe so etwas leider noch nie gemacht.
Tuxedo : Danke
Jaaa mein Englisch ist jetzt auch nicht soo das beste, zugegeben. Aber ja die Seite habe ich auch schon gefunden und ausprobiert. Bin aber leider dran gescheitert diese UDF für meine Zwecke einzusetzen.
Gruß Mikki
Guten Morgen zusammen,
ich habe eine Frage zu zum oben genannten Thema mit 7Zip. Kann mir jemand eine funktionierende 7Zip UDF zeigen / zukommen lassen? Und wie installiere ich eine UDF? Oder reicht es wenn ich die per #include einbinde? Ich schätze aber mal da erscheinen dann keine Vorschläge, wenn ich einen Befehl / Funktion eingebe?
Noch eine Frage: Ist es dort dann auch möglich, einen Ordner zu verpacken, indem wiederum Ordner und Dateien existieren?
Bsp: 01 Lieferungen -> 01 Lieferungen Meier, zweiter Ordner 02 Lieferungen Müller. Und in diesen Ordnern wiederum sind Dateien enthalten.
Danke im Voraus ![]()
LG Mikki
Hi Musashi.
Ja dann wünsche ich mal viel spass ![]()
Okay ich versuche es weiter. Zerlege den code weiter bis ich nur die eigentliche funktion habe und hoffentlich den fehler finde.
Ich lasse das thema mal ungelöst.
Gruß Mikki
Hi @Musashi
Richtig. Es gibt ein Verzeichnis wo die Ordner ncblech-ts700 und nprofil-ts700 liegen.
Die .ini Datei liegt irgendwo. Diese dient praktisch als "Auftragsdatei". Ich speichere 1x die Pfade ab. Das hat folgenden Hintergrund: In einem Bauvorhaben gibt es viele Teilsysteme, in denen Stützen, Kantteile etc. enthalten sind. Und für jedes Teilsystem gibt es ein Fertigungspaket. So ein Bauvorhaben benötigt mehrere Monate, bis es komplett abgearbeitet ist. Daher auch viele Fertigungspakete. Deshalb werden die Pfade, die so oder so immer gleich sind, in der .ini Datei gespeichert.
Ich kopierie von A nach B und verschiebe dann von A nach C. Die Daten werden nämlich lokal in einer bestimmten Struktur abgelegt und dann auf den Server kopiert, damit diese für alle zugänglich sind. (Qualitätsmanagement halt)
Ja okay hab´s gesehen. Wer lesen kann ist klar im Vorteil. Wollte es eig auf @ScriptDir setzen.
Ich dachte außerdem, ich muss beim IniWrite das "\*.ini*" nochmal hinschreiben. Gut okay danke für den Hinweis. Falsch gedacht ![]()
Gruß Mikki.
Guten Morgen zusammen,
also hier der Code:
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <File.au3>
#include <Date.au3>
;~ Window
Global $Window_Main, $Window_Auftrag_hinzufuegen, $Window_Teilsystemname_hinzufuegen
;~ Button
Global $Button_Auftrag_hinzufuegen, $Button_Auftrag_waehlen, $Button_Auftrag_Anlegen, $Button_Teilsystemname_hinzufuegen
Global $Inputbox_NCDaten_Fertigungspaket, $Inputbox_Zielverzeichnis_Fertigungspaket, $Inputbox_Teilsystemname_hinzufuegen
Global $SECTION_3_Data = "3.Quellverzeichnis NC-Daten", $SECTION_4_Data = "4.Zielverzeichnis für das Fertigungspaket"
Global $INI_READ_SECTION_3_Data
Global $READ_Checkbox_Lokal_ablegen, $READ_Inputbox_Teilsystemname_hinzufuegen
;~ Vorbereitung für DirMove
Global $sEntryName, $hSearch
Global $sFileSaveDialog_Auftrag, $sMessage
Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus
$Window_Main = GUICreate("Walter", 220, 100)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSE_clicked_Window_Main")
$Button_Auftrag_hinzufuegen = GUICtrlCreateButton("1. Auftrag hinzufügen", 10, 20, 200, 30)
GUICtrlSetOnEvent($Button_Auftrag_hinzufuegen, "Auftrag_hinzufuegen")
$Button_Auftrag_waehlen = GUICtrlCreateButton("2. Auftrag wählen", 10, 60, 200, 30)
GUICtrlSetOnEvent($Button_Auftrag_waehlen, "Auftrag_waehlen")
GUISetState(@SW_SHOW)
While 1
Sleep(1000)
WEnd
Func Auftrag_hinzufuegen()
GUICtrlSetState($Button_Auftrag_hinzufuegen, $GUI_DISABLE)
GUICtrlSetState($Button_Auftrag_waehlen, $GUI_DISABLE)
$Window_Auftrag_hinzufuegen = GUICreate("Sortierauftrag hinzufügen", 600, 180)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSE_clicked_Window_Auftrag_hinzufuegen")
GUICtrlCreateLabel("3.Verzeichnis der NC-Daten angeben:", 20, 20)
$Inputbox_NCDaten_Fertigungspaket = GUICtrlCreateInput("", 20, 40, 560)
GUICtrlCreateLabel("4.Pfad für das Fertigungspaket angeben:", 20, 70)
$Inputbox_Zielverzeichnis_Fertigungspaket = GUICtrlCreateInput("", 20, 90, 560)
$Button_Auftrag_Anlegen = GUICtrlCreateButton("OK! Auftrag anlegen!", 20, 140, 150, 30)
GUICtrlSetOnEvent($Button_Auftrag_Anlegen, "Auftrag_anlegen")
GUISetState(@SW_SHOW)
EndFunc
Func Auftrag_anlegen()
GUICtrlSetState($Button_Auftrag_Anlegen, $GUI_DISABLE)
$READ_Inputbox_NCDaten_Fertigungspaket = GuiCtrlRead($Inputbox_NCDaten_Fertigungspaket)
$READ_Inputbox_Zielverzeichnis_Fertigungspaket = GuiCtrlRead($Inputbox_Zielverzeichnis_Fertigungspaket)
If $READ_Inputbox_NCDaten_Fertigungspaket = False Then
MsgBox(0, "Error", "3.Kein Verzeichnis für die NC-Daten angegeben!")
GUICtrlSetState($Button_Auftrag_Anlegen, $GUI_ENABLE)
Return
EndIf
If $READ_Inputbox_Zielverzeichnis_Fertigungspaket = False Then
MsgBox(0, "Error", "4.Kein Pfad im Zielverzeichnis für das Fertigungspaket angegeben!")
GUICtrlSetState($Button_Auftrag_Anlegen, $GUI_ENABLE)
Return
EndIf
$sFileSaveDialog_Auftrag = FileSaveDialog($sMessage, @WindowsDir & "", "Auftragsdatei (*.ini)", $FD_PATHMUSTEXIST)
If @error Then
MsgBox($MB_SYSTEMMODAL, "", "Keinen Auftrag gesichert!")
FileChangeDir(@ScriptDir)
GUICtrlSetState($Button_Auftrag_Anlegen, $GUI_ENABLE)
EndIf
_FileCreate($sFileSaveDialog_Auftrag & ".ini")
FileOpen($sFileSaveDialog_Auftrag & ".ini")
IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_3_Data, "Quelle-nc-daten", $READ_Inputbox_NCDaten_Fertigungspaket & @CRLF)
IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_4_Data, "Fertigungspaket", $READ_Inputbox_Zielverzeichnis_Fertigungspaket & @CRLF)
FileClose($sFileSaveDialog_Auftrag & ".ini")
GUICtrlSetState($Button_Auftrag_Anlegen, $GUI_ENABLE)
EndFunc
Func Auftrag_waehlen()
GUICtrlSetState($Button_Auftrag_hinzufuegen, $GUI_DISABLE)
GUICtrlSetState($Button_Auftrag_waehlen, $GUI_DISABLE)
$Window_Teilsystemname_hinzufuegen = GUICreate("Teilsystemname hinzufügen", 400, 150)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSE_clicked_Window_Teilsystemname_hinzufuegen")
GUICtrlCreateLabel("Teilsystemnamen angeben, Beispiel: ts63-stuetzen-achse-a-e", 10, 20)
$Inputbox_Teilsystemname_hinzufuegen = GUICtrlCreateInput("", 10, 40, 380)
$Button_Teilsystemname_hinzufuegen = GUICtrlCreateButton("Teilsystemname übernhemen", 100, 110, 200, 30)
GUICtrlSetOnEvent($Button_Teilsystemname_hinzufuegen, "Teilsystemname_uebernhemen")
GUICtrlSetState($Button_Teilsystemname_hinzufuegen, $GUI_FOCUS)
GUISetState(@SW_SHOW)
EndFunc
Func Teilsystemname_uebernhemen()
;~ Prüfen, ob ein Teilsystemname angegeben ist. Wenn nicht, erscheint ein Errorhandling.
$READ_Inputbox_Teilsystemname_hinzufuegen = GuiCtrlRead($Inputbox_Teilsystemname_hinzufuegen)
If $READ_Inputbox_Teilsystemname_hinzufuegen = False Then
MsgBox(0, "Error", "Keinen Teilsystemnamen angegeben!")
Return
EndIf
$sFileOpenDialog_Auftrag = FileOpenDialog($sMessage, @WindowsDir & "", "Alle Dateien (*.ini)", $FD_FILEMUSTEXIST)
If @error Then
MsgBox($MB_SYSTEMMODAL, "", "Keinen Auftrag gewählt!")
FileChangeDir(@ScriptDir)
EndIf
$INI_READ_SECTION_3_Data = IniRead($sFileOpenDialog_Auftrag, $SECTION_3_Data, "Quelle-nc-daten", "Error")
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $INI_READ_SECTION_3_Data = ' & $INI_READ_SECTION_3_Data & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
$INI_READ_SECTION_4_Data = IniRead($sFileOpenDialog_Auftrag, $SECTION_4_Data, "Fertigungspaket", "Error")
ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $INI_READ_SECTION_4_Data = ' & $INI_READ_SECTION_4_Data & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
$hSearch = FileFindFirstFile($INI_READ_SECTION_3_Data & "\*.*")
If $hSearch = -1 Then
MsgBox(0, "Error", "In dem Quellpfad wurden keine NC-Daten gefunden!")
Return False
EndIf
While 1
$sEntryName = FileFindNextFile($hSearch)
If @error Then ExitLoop ; keine weiteren Einträge gefunden
If @extended Then
If StringRegExp($sEntryName, "(?i)^(.*)nc(.*)$") Then
DirCopy($INI_READ_SECTION_3_Data & "\" & $sEntryName, $INI_READ_SECTION_4_Data)
EndIf
EndIf
WEnd
FileClose($hSearch)
GUISetState(@SW_SHOW)
GUIDelete($Window_Teilsystemname_hinzufuegen)
GUISwitch($Window_Main)
;~ Button werden wieder aktiviert
GUICtrlSetState($Button_Auftrag_hinzufuegen, $GUI_ENABLE)
GUICtrlSetState($Button_Auftrag_waehlen, $GUI_ENABLE)
EndFunc
;~ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
;~ Close-Funktionen
Func CLOSE_clicked_Window_Main()
Exit
EndFunc ;==>CLOSE_clicked_Window_Main
Func CLOSE_clicked_Window_Auftrag_hinzufuegen()
GUIDelete($Window_Auftrag_hinzufuegen)
GUISwitch($Window_Main)
GUICtrlSetState($Button_Auftrag_hinzufuegen, $GUI_ENABLE)
GUICtrlSetState($Button_Auftrag_waehlen, $GUI_ENABLE)
EndFunc
Func CLOSE_clicked_Window_Teilsystemname_hinzufuegen()
GUIDelete($Window_Teilsystemname_hinzufuegen)
GUISwitch($Window_Main)
GUICtrlSetState($Button_Auftrag_hinzufuegen, $GUI_ENABLE)
GUICtrlSetState($Button_Auftrag_waehlen, $GUI_ENABLE)
EndFunc
;~ +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Alles anzeigen
Die Ordner heißen z.B. ncblech-ts700 und ncprofil-ts700.
Der Order mit Inhalt soll von einem Ort zum anderen kopiert werden.
Im nächsten Schritt dann in den angegebenen Pfad verschoben werden.
Gruß Mikki
Abend zusammen,
habe den kompletten Code auf der Arbeit. Ich werde morgen früh eine abgespeckte Version basteln, die nur auf das Problem fixiert ist, damit es für euch und für mich leichter ist.
Aber trotzdem schon mal Danke für die Mühen ![]()
Bis dahin.
Gruß Mikki
Hallo,
ich hoffe mal das ist jetzt richtig so:
@@ Debug(403) : $INI_READ_SECTION_1_Data = C:\Users\mikki\Desktop\umw
>Error code: 0
@@ Debug(405) : $INI_READ_SECTION_2_Data = C:\Users\mikkir\Desktop\test\lists
>Error code: 0
@@ Debug(407) : $INI_READ_SECTION_3_Data = C:\Users\mikki\Desktop\test
>Error code: 0
@@ Debug(410) : $INI_READ_SECTION_4_Data = C:\Users\mikki\Desktop\test\lieferungen
>Error code: 0
@@ Debug(413) : $INI_READ_SECTION_5_Data = C:\Users\mikki\Desktop\test\plaene
>Error code: 0
@@ Debug(416) : $INI_READ_SECTION_6_Data = C:\Users\mikki\Desktop\Server\21 - Werkstattzeichnungen\Stücklisten
>Error code: 0
@@ Debug(418) : $INI_READ_SECTION_7_Data_1 = C:\Users\mikki\Desktop\Server\21 - Werkstattzeichnungen
>Error code: 0
@@ Debug(420) : $INI_READ_SECTION_7_Data_2 = C:\Users\mikki\Desktop\Server\21 - Werkstattzeichnungen\dwg
>Error code: 0
@@ Debug(422) : $INI_READ_SECTION_7_Data_3 = C:\Users\mikki\Desktop\Server\21 - Werkstattzeichnungen\bmf
>Error code: 0
@@ Debug(424) : $INI_READ_SECTION_8_Data_1 = C:\Users\mikki\Desktop\Server\29 - Stahlbau Sonstiges
>Error code: 0
@@ Debug(426) : $INI_READ_SECTION_8_Data_2 = C:\Users\mikki\Desktop\Server\29 - Stahlbau Sonstiges\dwg
>Error code: 0
@@ Debug(428) : $INI_READ_SECTION_8_Data_3 = C:\Users\mikki\Desktop\Server\29 - Stahlbau Sonstiges\bmf
>Error code: 0
@@ Debug(430) : $INI_READ_SECTION_9_Data = C:\Users\mikki\Desktop\Server\21 - Werkstattzeichnungen\NC-Daten
>Error code: 0
Qt: Untested Windows version 10.0 detected!
@@ Debug(535) : DirCopy($INI_READ_SECTION_3_Data & "\" & $sEntryName, $INI_READ_SECTION_9_Data) = 0
>Error code: 0
@@ Debug(535) : DirCopy($INI_READ_SECTION_3_Data & "\" & $sEntryName, $INI_READ_SECTION_9_Data) = 0
>Error code: 0
Ach so meinst du das.
Ja kommt nach 17:00 ![]()
Ja steht es.
Hier ein Auszug:
;~ SECTION-WRITER
Global $SECTION_1_Data = "1.Umwandlungsverzeichnis", $SECTION_2_Data = "2.Quellverzeichnis Stücklisten"
Global $SECTION_3_Data = "3.Quellverzeichnis NC-Daten", $SECTION_4_Data = "4.Zielverzeichnis für das Fertigungspaket"
Global $SECTION_5_Data = "5.Zielverzeichnis für die bmf im Auftragsordner"
Global $SECTION_6_Data = "6.Zielverzeichnis der Stücklisten auf dem Server", $SECTION_7_Data = "7.Zielverzeichnis der Werkstattpläne auf dem Server"
Global $SECTION_8_Data = "8.Zielverzeichnis der Baugruppenperspektiven auf dem Server", $SECTION_9_Data = "9.Zielverzeichnis der NC-Daten auf dem Server"
...
FileOpen($sFileSaveDialog_Auftrag & ".ini")
IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_1_Data, "Quelle-Umw", $READ_Inputbox_Umwandlungsverzeichnis & @CRLF)
IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_2_Data, "Quelle-list", $READ_Inputbox_Stuecklistenverzeichnis_Fertigungspaket & @CRLF)
IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_3_Data, "Quelle-nc-daten", $READ_Inputbox_NCDaten_Fertigungspaket & @CRLF)
IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_4_Data, "Fertigungspaket", $READ_Inputbox_Zielverzeichnis_Fertigungspaket & @CRLF)
IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_5_Data, "Werkstattplaene-bmf", $READ_Inputbox_BMF_Verzeichnis_Auftragsverzeichnis & @CRLF)
IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_6_Data, "Stuecklisten-Server", $READ_Inputbox_Stuecklistenverzeichnis_Server & @CRLF)
IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_7_Data, "Werkstattplaene-pdf", $READ_Inputbox_PDF_Verzeichnis_Server & @CRLF)
IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_7_Data, "Werkstattplaene-dwg", $READ_Inputbox_DWG_Verzeichnis_Server & @CRLF)
IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_7_Data, "Werkstattplaene-bmf", $READ_Inputbox_BMF_Verzeichnis_Server & @CRLF)
IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_8_Data, "Perspektiven-pdf", $READ_Inputbox_Baugruppenperspektive_PDF_Verzeichnis_Server & @CRLF)
IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_8_Data, "Perspektiven-dwg", $READ_Inputbox_Baugruppenperspektive_DWG_Verzeichnis_Server & @CRLF)
IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_8_Data, "Perspektiven-bmf", $READ_Inputbox_Baugruppenperspektive_BMF_Verzeichnis_Server & @CRLF)
IniWrite($sFileSaveDialog_Auftrag & ".ini", $SECTION_9_Data, "NC-Daten", $READ_Inputbox_NC_Daten_Verzeichnis_Server)
Alles anzeigen
Die Sektion ist immer die gleiche. Deshalb habe ich sie Global am Anfang als "Standard" gesetzt. Der Schlüssel heißt auch immer gleich.
Deshalb kann ein Schreibfehler in der Variable eigentlich nicht in Frage kommen.
Sorry verstehe ich gerade nicht. Wie meinst du das jetzt alle Variablen ausgeben lassen? Bin noch Anfänger^^
Gruß
Hallo alpines,
der Schlüssel liegt hier:
[3.Quellverzeichnis NC-Daten]
Quelle-nc-daten=C:\Users\mikki\Desktop\test
Ich spreche den Schlüssel an: $INI_READ_SECTION_3_Data = IniRead($sFileOpenDialog_Auftrag, $SECTION_3_Data, "Quelle-nc-daten", "Error") -> "Quelle-nc-daten"
Hallo @Musashi
Danke für deine Antwort. Wenn ich mir den diesen Code kopiere und und bei $sSourceDir den Pfad einsetze, findet er die Ordner. Das schreibt er auch in der Konsole.
Setze ich aber anstelle den Pfad eine Variable ein, die aus einer .ini-Datei liest, passiert nichts. Es kommt aber auch keine Fehlermeldung.
Hier mal das Beispiel:
$INI_READ_SECTION_3_Data = IniRead($sFileOpenDialog_Auftrag, $SECTION_3_Data, "Quelle-nc-daten", "Error")
...
$hSearch = FileFindFirstFile($INI_READ_SECTION_3_Data & "\*.*")
If $hSearch = -1 Then
MsgBox(0, "Error", "In dem Quellpfad wurden keine NC-Daten gefunden!")
Return False
EndIf
While 1
$sEntryName = FileFindNextFile($hSearch)
If @error Then ExitLoop ; keine weiteren Einträge gefunden
If StringRegExp($sEntryName, "(?i)^(.*)nc(.*)$") Then
DirCopy($INI_READ_SECTION_3_Data & "\*nc*", $INI_READ_SECTION_9_Data)
EndIf
WEnd
FileClose($hSearch)
;~ In diesem Abschnitt werden die pdf´s, dwg´s und bmf´s auf den Server kopiert.
FileCopy($INI_READ_SECTION_1_Data & "\*.pdf", $INI_READ_SECTION_7_Data_1)
FileCopy($INI_READ_SECTION_1_Data & "\*.dwg", $INI_READ_SECTION_7_Data_2)
FileCopy($INI_READ_SECTION_1_Data & "\*.bmf_", $INI_READ_SECTION_7_Data_3)
Alles anzeigen
Die Variablen sind am Anfang mit Global deklariert.
Gruß Mikki
Hallo @Musashi
ja okay das mit der Wildcard habe ich verstanden.
Gut danke für die Tipps.
Ich werde sie morgen direkt mal ausprobieren ![]()
Gruß Mikki
Hallo zusammen,
wie schon oben erwähnt habe ich eine Frage zu DirMove.
Ich hoffe Ihr könnt mir da weiterhelfen.
Wenn ich bei bei FileMove Dateien verschiebe, die ein bestimmtes Wort enthalten, funktioniert das. Hier ein Beispiel:
FileMove($INI_READ_SECTION_4_Data & "\" & $READ_Inputbox_Teilsystemname_hinzufuegen & "\Zeichnungen-PDF" & "\*persp*", $INI_READ_SECTION_4_Data & "\" & $READ_Inputbox_Teilsystemname_hinzufuegen & "\Baugruppenperspektive")
Hier, bei FIleMove, mit "\*persp*".
Wenn ich das gleiche aber mit DirMove mache:
DirMove($INI_READ_SECTION_3_Data & "\*nc*", $INI_READ_SECTION_4_Data & "\" & $READ_Inputbox_Teilsystemname_hinzufuegen & "\NC-Daten")
Hier mit "\*nc*" im Ordnernamen, passiert leider nichts. Die Ordner, die ich verschieben möchte, bleiben dort wo sie sind. Schade eigentlich.
Also, wie kann ich Ordner verschieben, die in bestimmtes Wort enthalten?
Muss ich den Ordnernamen in einen String splitten? Stehe grad voll auf´m Schlauch.
Danke schon mal im Voraus. ![]()
Gruß Mikki
Hallo @alpines
Ja du hast recht. Die Abfrage war noch aus einem alten Skript, die ich dann umgebaut habe. Hatte ich jetzt ehrlich gesagt nicht drauf geachtet.
Funktioniert auch ohne, bzw. so wie du es vorgeschlagen hast.
Danke für den Hinweis. ![]()
Gruß Mikki
Hallo @Musashi
Ja Default schreibt er, wenn er nix gefunden hat. Das habe ich soweit verstanden.
Okay, so wie du es vorgeschlagen hast, funktioniert es *juhuu* ![]()
Dankeschön ![]()
Gruß Mikki
Hey NO1 :-),
danke für die Antwort.
Leider verstehe ich nicht ganz wie das mit dem Array hier funktioniert. Wenn ich das jetzt mal so eintrage bekomme ich leider eine Fehlermeldung.
(57) : ==> Subscript used on non-accessible variable.:
MsgBox($MB_SYSTEMMODAL, "Test", $READ_Auftragsname[1][1])
MsgBox($MB_SYSTEMMODAL, "Test", $READ_Auftragsname^ ERROR
Kannst du mir das mal erklären? Mit Arrays habe ich im Moment noch Schwierigkeiten um ehrlich zu sein. ![]()
LG Mikki
Hallo zusammen
,
wie der Betreff schon sagt, habe ich eine Frage zu IniReadSection.
Hier der Code:
#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <File.au3>
#include <data\decl.au3>
Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus
$Window_Main = GUICreate("Walter", 220, 65)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSE_clicked_Window_Main")
$Auftrag_waehlen = GUICtrlCreateButton("1. Auftrag wählen", 10, 20, 200, 35)
GUICtrlSetOnEvent($Auftrag_waehlen, "Auftrag_waehlen")
GUISetState(@SW_SHOW)
Func Auftrag_waehlen()
GUICtrlSetState($Auftrag_waehlen, $GUI_DISABLE)
; Display an open dialog to select a list of file(s).
$sFileOpenDialog_Auftrag = FileOpenDialog($sMessage, @WindowsDir & "", "Alle Dateien (*.ini*)", $FD_FILEMUSTEXIST)
If @error Then
; Display the error message.
MsgBox($MB_SYSTEMMODAL, "", "Keinen Auftrag gewählt!")
; Change the working directory (@WorkingDir) back to the location of the script directory as FileOpenDialog sets it to the last accessed folder.
FileChangeDir(@ScriptDir)
GUICtrlSetState($Auftrag_waehlen, $GUI_ENABLE)
EndIf
If $sFileOpenDialog_Auftrag = True Then
GUICtrlSetState($Auftrag_waehlen, $GUI_ENABLE)
$READ_Auftragsname = IniReadSection($sFileOpenDialog_Auftrag, "auftragsname")
MsgBox($MB_SYSTEMMODAL, "Test", $READ_Auftragsname)
EndIf
EndFunc
While 1
Sleep(1000)
WEnd
Func CLOSE_clicked_Window_Main()
Exit
EndFunc ;==>CLOSE_clicked_Window_Main
Alles anzeigen
Und hier der Aufbau der Ini-Datei:
[auftragsname]
Name=Test
[Umwandlungsordner]
[Stuecklistenordner]
[Zielordner]
Ausgabe der MsgBox: 1
Es ist wahrscheinlich ein ganz simpler Fehler. Aber ich komme gerade ums verrecken nicht drauf.
Könnt Ihr mir da helfen?
Danke.