Mein folgendes Script wird gestartet - läuft technisch gut - wird beendet (geht aus dem Systemtray und auch aus den Anwendungen im Taskmanager) - aber bleibt als Prozess erhalten. Das gilt für das Script selbst als auch für die kompilierte Exe.
System: Win XP Prof., 32: AutohotkeyU32.exe vom 2.8.2012 1.1.08.01
Was macht das Ding:
- Zieldatei auswählen
- Startordner auswählen
- aus dem Startordner und Unterordnern eine Liste aller DOC und TXT in die Zieldatei schreiben
- fertig
(Die Einstellungen für Zieldatei und Startordner werden in der REG gespeichert.)
Welche Kleinigkeit habe ich da übersehen?
(Ja, die mehrfache Dateisuche ist auch nicht das gelbe vom Ei ..)
#SingleInstance,Force Menu, Tray, Tip, Dateiliste für DOC und TXT RegRead, speicherdatei, HKEY_CURRENT_USER, Software\mein_AHK\Dateiliste\, speicherdatei FileSelectFile, speicherdatei, S8, %speicherdatei%, Dateiliste speichern unter ..., Textdateien (*.txt) if errorlevel = 1 { MsgBox, 16, Dateiliste, Sie haben das Programm abgebrochen. Exit } StringReplace, speicherdatei, speicherdatei, .txt,, All ; alle .txt durch leer ersetzen speicherdatei = %speicherdatei%.txt regwrite, REG_SZ, HKEY_CURRENT_USER, Software\mein_AHK\Dateiliste\, speicherdatei, %speicherdatei% RegRead, startordner, HKEY_CURRENT_USER, Software\mein_AHK\Dateiliste\, startordner FileSelectFolder, Startordner, *%Startordner%, 0,Bitte den obersten Anlagenordner wählen if errorlevel = 1 { MsgBox, 16, Dateiliste, Sie haben das Programm abgebrochen. Exit } regwrite, REG_SZ, HKEY_CURRENT_USER, Software\mein_AHK\Dateiliste\, startordner, %startordner% Menu, Tray, Tip, Dateiliste für DOC und TXT läuft. Bitte auf Abschlussmeldung warten. FileList = ; Initialize to be blank. Loop, %startordner%\*.DOC ,1,1 FileList = %FileList%%A_LoopFileName%`n Loop, %startordner%\*.TXT ,1,1 FileList = %FileList%%A_LoopFileName%`n ;msgbox beide FileDelete, d:\filelist.txt Sort, FileList ; The R option sorts in reverse order. See Sort for other options. Fileappend , `n`nStartordner: %startordner%`nalphabetische Auflistung aller TXT und DOC`n--------------------------------`n, %speicherdatei% Loop, parse, FileList, `n { if A_LoopField = ; Ignore the blank item at the end of the list. continue FileAppend , %A_LoopField%`n, %speicherdatei% } FileList = ; DOCtialize to be blank. Loop, %startordner%\*.TXT ,1,1 FileList = %FileList%%A_LoopFileName%`n Sort, FileList ; The R option sorts in reverse order. See Sort for other options. FileAppend , `n`nalphabetische Auflistung aller TXT`n--------------------------------`n, %speicherdatei% Loop, parse, FileList, `n { if A_LoopField = ; Ignore the blank item at the end of the list. continue FileAppend , %A_LoopField%`n, %speicherdatei% } FileList = ; Initialize to be blank. Loop, %startordner%\*.DOC ,1,1 FileList = %FileList%%A_LoopFileName%`n Sort, FileList ; The R option sorts in reverse order. See Sort for other options. FileAppend , `n`nalphabetische Auflistung aller DOC`n--------------------------------`n, %speicherdatei% Loop, parse, FileList, `n { if A_LoopField = ; Ignore the blank item at the end of the list. continue FileAppend , %A_LoopField%`n, %speicherdatei% } MsgBox, 64, Dateiliste, Dateilistenerstellung abgeschlossen.`nErgebnis: %speicherdatei%
Danke
Peter
Edited by Seidenweber, 08 January 2013 - 06:37 PM.
code tags