Hallo,
ich möchte ein Script schreiben, dass bestimmte Dateien mit einem bestimmten Programm geöffnet werden und dann von dem Programm unter einem anderen Format wieder abgespeichert werden soll.
....
Spoiler anzeigen
(Ich habe solche Schritte in dieser Reihenfolge gewählt, weil es mit meinem Wissen so möglich war)
Teilschritte
1. suche nach .exe um das bestimmte Programm zu starten
2. Ordnersuche, wo die .xxx -Dateien drin sind
3. alle *.xxx Dateien auswählen
Ich habe noch viele Abfragen für mich drin, die später herausgenommen werden. Der Kunde soll ja nicht später mit MsgBoxen überschüttet werden.
Quellcode:
dim $CAD6, $var, $msg, $dir, $msg1, $msg2, $msg3, $filesearch, $file
$msg = "Bitte starten Sie das bestimmte Programm."
$msg1 = "Wurde gewählt:"
$msg2 = "Keine Auswahl"
$msg3 = "Info"
; Teil 1
$var = FileOpenDialog($msg, "D:\Progamme\bestimmteProgrammOrdner", "Anwendung (*.exe)", 1 + 2 )
If @error Then
MsgBox(48, $msg2, "Keine Datei(en) ausgewählt.")
Else
MsgBox(48, $msg1, "Es wurde" & $var & " ausgewählt.")
Run($var)
[/autoit] [autoit][/autoit] [autoit]WinWaitActive("bestimmte Programm", "", 3)
[/autoit] [autoit][/autoit] [autoit]If WinExists("bestimmte Programm") then
[/autoit] [autoit][/autoit] [autoit]MsgBox (48, $msg3, "bestimmte Programm.exe wurde gestartet", 5)
Else
MsgBox (48, $msg3, "bestimmte Programm wurde nicht gestartet", 5)
EndIf
EndIf
[/autoit] [autoit][/autoit] [autoit]; Teil 2.
$dir = FileSelectFolder("Ordner wählen", "")
If @error Then
MsgBox(48,"Keine Auswahl","Kein Ordner ausgewählt.")
Else
MsgBox(48,"OrdnerAuswahl.","Es wurde " & $dir & " ausgewählt.")
EndIf
; Teil 3.
$filesearch = FileFindFirstFile("*.xxx")
If $filesearch = -1 Then
MsgBox(0, "Fehler", "Es wurden keine Dateien/Verzeichnisse gefunden, die zu dem Suchmuster passen")
Exit
EndIf
While 1
$file = FileFindNextFile($filesearch)
If @error Then ExitLoop
MsgBox(48, "Datei:", $file)
WEnd
FileClose($filesearch)
[/autoit] [autoit][/autoit] [autoit]Exit
[/autoit]Teil 4 usw. fehlen noch, weil ich bei Teil 3 hänge und nicht weiß, wie ich an Teil 4 rangehen soll. :pinch:
Bei Teil 3 würde ich gern den Ordnerpfad ($dir, der in Teil 2 ausgewählt wurde) angeben.
Zur Zeit sucht das Script die .xxx-Dateien im Ordner, wo das Script ausgeführt wird.
$filesearch = FileFindFirstFile($dir, "*.xxx") wollte ich so reinsetzen, aber das ist wohl nicht die richtige Stelle.
Teil 4 wäre dann, dass ich die Dateien an das Programm übergebe und das Programm sie dann unter dem Format .dwg speichert.
Ich habe mal mit Window Info im Programm das "Speichern unter" ausgewählt. Ich denke mir, dass dort schon der Ansatz zur Lösung drinsteckt.
Aber mit meinem jetztigen Wissen kann ich noch nix mit Window Info anfangen.
Window Info
>>>> Control <<<<
Class: ComboBox
Instance: 2
ClassnameNN: ComboBox2
Advanced (Class): [CLASS:ComboBox; INSTANCE:2]
ID: 1136
Text:
Position: 86, 213
Size: 233, 21
ControlClick Coords: 156, 13
Style: 0x50010203
ExStyle: 0x00000004
Handle: 0x0012064A
>>>> Mouse <<<<
Position: 455, 594
Cursor ID: 2
Color: 0x0A246A
>>>> StatusBar <<<<
>>>> Visible Text <<<<
Spe&ichern in:
Test
FolderView
Datei&name:
Blatt1.dwg
Datei&typ:
DWG Format (*.DWG)
&Speichern
Abbrechen
&Hilfe
Dialog
Zeichnungsbild :
&Zeichnungsbeschreibung :
&Grafik in die Zeichnung kopieren
Datei: Blatt1 - Datum: 22.10.2008 - Uhrzeit: 13:02:31
>>>> Hidden Text <<<<
Sch&reibgeschützt öffnen
&Vorschau anzeigen
Ich hoffe, ihr könnt mir helfen, auch wenn es nur ein Link ist.
Vielen Dank für die Aufmerksamkeit.
Xethria
EDIT:
Weiterbearbeitung hier: (da sehr ähnliches Thema)
[ offen ] Konvertertool - Ordner übergreifend sauber Dateien suchen und auflisten