Fischer-Bayern.de
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Probleme beim DownloadSorter 2.0 - Problem beim Erstellen ei

 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Busyman
•-->
•-->


Anmeldedatum: 16.09.2001
Beiträge: 64
Wohnort: Ostwestfalen

BeitragVerfasst am: 18.12.2001 - 00:34    Titel: Probleme beim DownloadSorter 2.0 - Problem beim Erstellen ei Antworten mit Zitat

Hallo liebes Forum,

habe neulich wieder an meinem DownloadSorter herumgespielt und ihn anhand Eurer Tips und Vorschläge nun komplett umgeschrieben. Es werden nun keine leeren Ordner mehr angelegt, alle möglichen Benutzerfehler werden einkalkuliert und komfortabler ist das Script auch geworden. Allerdings habe ich immer noch ein Grundproblem, welches ich wohl ohne Eure Hilfe nicht werde lösen können.

Ich lasse den Benutzer einen Ordner wählen, in den alle Dateien, die ein bestimmtes Suffix besitzen und auf dem Desktop liegen, einsortiert werden, und zwar jeweils in einen Unterordner des Zielordners, der dann nicht das Suffix der Datei trägt. Wählt der Benutzer einen ganz neuen Zielordner für den Sortiervorgang, dann gibt es gar keine Probleme, denn in dem neuen Ordner kann nichts Falsches passieren. Wählt er aber einen Ordner, der bereits vorher existierte und womöglich Dateien und Unterordner enthält, dann stellt er mich vor eine harte Prüfung, im wahrsten Sinne des Wortes. Denn dann muß ich beim Erstellen der neuen Unterordner in diesem Zielordner ständig prüfen, ob bereits eine Datei oder ein Ordner gleichen Namens existiert.
Existiert eine Datei gleichen Namens, muß der Benutzer einen neuen Namen für den anzulegenden Unterordner wählen, worauf ich wieder prüfen muß, ob dieser existiert.
Existiert ein Ordner gleichen Namens muß der Benutzer wählen können, ob er diesen verwendet oder einen neuen Namen für den anzulegenden Unterordner verwendet. Will er den vorhandenen Ordner nutzen, muß ich wiederrum prüfen, ob dieser leer ist, oder doch gar wieder eine Datei oder einen Ordner dort drinnen liegt, die wie die Datei heißen, die hineinkopiert werden soll...usw, usw, usw. I hope you get the idea Wink)

An der Stelle, wo es heißt "Tja, was soll ich hier bloß machen?" taucht das Problem auf, bis dahin läuft eigentlich bisher alles Snow-koform Wink (Einen Dank nochmal an Dich, Verbesserungsvorschläge wurden auch gewissentlich beachtet). Wißt Ihr da weiter? Ich beiße mir daran wirklich die Zähne aus...

Danke für die Hinweise zur Ergreifung der Routine *g*

ScriptCode gibt es hier:

http://www.ame-electroplating.com/geheimversteck/Test.sit



[font=geneva]--++Bug Notes++

--++Globals++
global Debug
set Debug to "Hello World!"

global AllSuffixFiles
global ArchiveFolder

--++Main Subroutines++
on PleaseChooseSuffix()
tell application "Finder"

set SuffixList to ¨
{ "Eigenes Suffix wählen", "++++", ".sit", ".bin", ".sea", ".smi", ".dmg", ".img", "++++", ".jpg", ".gif", ".psd", ".eps", "++++", ".mp3", ".wav", "++++", ".mov", ".avi", "++++", ".pdf", ".doc", ".txt", ".cwk" }
choose from list SuffixList with prompt ¨
"Wählen Sie den Dateientyp, der für den Sortiervorgang berücksichtigt werden soll:" default items "Eigenes Suffix wählen"

if result is not false then

set DialogResultCS1 to result as string

if DialogResultCS1 = "Eigenes Suffix wählen" then
my ChooseYourOwnSuffix()
else if DialogResultCS1 = "++++" then
display dialog ¨
"Fehler:" & return & "Sie haben ein Trennungssymbol gewählt." buttons ( "Ups :ï)" ) default button 1 with icon caution
my PleaseChooseSuffix()

else
set choosensuffix to DialogResultCS1
my CheckIfSuffixFilesExistOnDesktop(choosensuffix)
end if

else
return
end if

end tell
end PleaseChooseSuffix


on ChooseYourOwnSuffix()
tell application "Finder"

display dialog ¨
"Wählen Sie bitte ein eigenes Suffix:" default answer ".abc"
set DialogResultCYOS1 to the text returned of the result

if DialogResultCYOS1 = "" then
display dialog ¨
"Fehler:" & return & "Sie haben kein Suffix gewählt." buttons ( "Ups :ï)" ) default button 1 with icon caution
my ChooseYourOwnSuffix()
else if length of DialogResultCYOS1 > 4 then
display dialog ¨
"Fehler:" & return & "Sie haben ein Suffix mit mehr als 4 Zeichen gewählt." buttons ( "Ups :ï)" ) default button 1 with icon caution
my ChooseYourOwnSuffix()
else if length of DialogResultCYOS1 < 4 then
display dialog ¨
"Fehler:" & return & "Sie haben ein Suffix mit weniger als 4 Zeichen gewählt." buttons ( "Ups :ï)" ) default button 1 with icon caution
my ChooseYourOwnSuffix()

else
if DialogResultCYOS1 contains ":" then
display dialog ¨
"Fehler:" & return & "Sie haben das ungültige Zeichen \":\" bei der Suffix-Wahl verwendet" buttons ( "Ups :ï)" ) default button 1 with icon caution
my ChooseYourOwnSuffix()
else if DialogResultCYOS1 contains "/" then
display dialog ¨
"Fehler:" & return & "Sie haben das ungültige Zeichen \"/\" bei der Suffix-Wahl verwendet" buttons ( "Ups :ï)" ) default button 1 with icon caution
my ChooseYourOwnSuffix()
else if character -4 of DialogResultCYOS1 is not "." then
display dialog ¨
"Fehler:" & return & "Sie haben keinen \".\" vor Ihr gewähltes Suffix gesetzt." default button 1 with icon caution
my ChooseYourOwnSuffix()

else
my CheckIfSuffixFilesExistOnDesktop(DialogResultCYOS1)
end if
end if

end tell
end ChooseYourOwnSuffix


on CheckIfSuffixFilesExistOnDesktop(thechoosensuffix)
tell application "Finder"

set AllSuffixFiles to every file whose name ends with thechoosensuffix

if AllSuffixFiles is {} then
display dialog ¨
"Fehler:" & return & "Es wurden keine Dateien mit dem gewählten Suffix auf Ihrem Desktop gefunden." buttons ( "Okay" ) default button 1 with icon stop giving up after 15

else
display dialog ¨
"Wollen Sie die Dateien in einen Ordner namens \"Download Archiv\" auf dem Desktop einsortieren lassen, einen eigenen Ordner für diesen Sortiergang auswählen oder das Script abbrechen?" buttons { "Download Archiv", "Eigener Ordner", "Script abbrechen" } default button 2 with icon note
set DialogResultCISFEOD1 to result

if button returned of the result = "Script abbrechen" then
return
else if button returned of the result = "Download Archiv" then
set choosenfoldername to "Download Archiv"
my MakeNewFolderOnDesktop(choosenfoldername)
else if button returned of the result = "Eigener Ordner" then
my ChooseYourOwnFolder()
end if

end if

end tell
end CheckIfSuffixFilesExistOnDesktop


on MakeNewFolderOnDesktop(thechoosenfoldername)
tell application "Finder"
set AllItemsOnDesktop to every item of the desktop whose name is thechoosenfoldername

if AllItemsOnDesktop is {} then
make new folder at desktop
set name of the result to thechoosenfoldername
global ArchiveFolder
set ArchiveFolder to folder thechoosenfoldername
my BeginToSortSuffixFileToSubFolders()

else
my ErrorMakeNewFolderOnDesktop(thechoosenfoldername)
end if

end tell
end MakeNewFolderOnDesktop


on ErrorMakeNewFolderOnDesktop(theerrorfolder)
tell application "Finder"

set AllFoldersOnDesktop to every folder whose name is theerrorfolder

if AllFoldersOnDesktop is {} then
display dialog ¨
"Fehler:" & return & "Es existiert bereits eine Datei namens" & return & theerrorfolder & return & "auf Ihrem Desktop." & return & "Bitte wählen Sie einen anderen Namen für den Ordner." buttons { "Okay" } default button 1 with icon caution
my ChooseAValidNewFolder(theerrorfolder)

else
display dialog ¨
"Warnung:" & return & "Es existiert bereits ein Ordner names" & return & theerrorfolder & return & "auf Ihrem Desktop." & return & "Wollen Sie den Ordner trotzdem verwenden, einen neuen Ordnernamen wählen oder das Script abbrechen?" buttons { "Ordner verwenden", "Neuer Ordner", "Script abbrechen" } default button 2 with icon caution
set DialogResultEMNFOD1 to result

if button returned of the result = "Script abbrechen" then
return
else if button returned of the result = "Neuer Ordner" then
my ChooseAValidNewFolder(theerrorfolder)
else if button returned of the result = "Ordner verwenden" then
global ArchiveFolder
set ArchiveFolder to folder theerrorfolder
my BeginToSortSuffixFileToSubFolders()
end if

end if

end tell
end ErrorMakeNewFolderOnDesktop


on ChooseAValidNewFolder(invalidfoldername)
tell application "Finder"

display dialog ¨
"Bitte geben Sie einen neuen Namen für den Ordner an:" & return & "(ungültiger Ordnername war: " & invalidfoldername & " )" default answer ""
set tryinghardtomakenewfolder to the text returned of the result

if tryinghardtomakenewfolder = "" then
display dialog ¨
"Fehler:" & return & "Sie haben keinen Namen für den Ordner gewählt." buttons ( "Ups :ï)" ) default button 1 with icon caution
my ChooseAValidNewFolder(invalidfoldername)
else if length of tryinghardtomakenewfolder > 31 then
display dialog ¨
"Fehler:" & "Sie haben einen Ordnernamen mit mehr als 31 Zeichen gewählt." buttons ( "Ups :ï)" ) default button 1 with icon caution
my ChooseAValidNewFolder(invalidfoldername)

else
if tryinghardtomakenewfolder contains ":" then
display dialog ¨
"Fehler:" & return & "Sie haben das ungültige Zeichen \":\" im Ordnernamen verwendet" buttons ( "Ups :ï)" ) default button 1 with icon caution
my ChooseAValidNewFolder(invalidfoldername)
else if tryinghardtomakenewfolder contains "/" then
display dialog ¨
"Fehler:" & return & "Sie haben das ungültige Zeichen \"/\" im Ordnernamen verwendet" buttons ( "Ups :ï)" ) default button 1 with icon caution
my ChooseAValidNewFolder(invalidfoldername)

else
my MakeNewFolderOnDesktop(tryinghardtomakenewfolder)
end if

end if
end tell
end ChooseAValidNewFolder


on ChooseYourOwnFolder()
tell application "Finder"
choose folder with prompt "Bitte wählen Sie einen Ordner, in welchen die Dateien einsortiert werden sollen:"
set choosenfolder to the result

global ArchiveFolder
set ArchiveFolder to choosenfolder
my BeginToSortSuffixFileToSubFolders()

end tell
end ChooseYourOwnFolder

on BeginToSortSuffixFileToSubFolders()
tell application "Finder"

repeat with suffixfile in AllSuffixFiles

my TryToCreateSubFolders(suffixfile)

end repeat

end tell
end BeginToSortSuffixFileToSubFolders

on TryToCreateSubFolders(thesuffixfile)
tell application "Finder"

set FirstTrySubFolderName to the name of thesuffixfile
set FirstTrySubFolderName to (characters 1 thru -5 of FirstTrySubFolderName) as string
set ArchiveFolderItems to every item of the ArchiveFolder whose name is FirstTrySubFolderName

if ArchiveFolderItems is {} then
make new folder in ArchiveFolder
set name of the result to FirstTrySubFolderName
move thesuffixfile to folder FirstTrySubFolderName in ArchiveFolder

else

--Tja, was soll ich hier bloß machen?

end if

end tell
end TryToCreateSubFolders

--++Main Script++
tell application "Finder"
activate
with timeout of 600 seconds

my PleaseChooseSuffix()

end timeout
end tell
[/font]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Busyman
•-->
•-->


Anmeldedatum: 16.09.2001
Beiträge: 64
Wohnort: Ostwestfalen

BeitragVerfasst am: 18.12.2001 - 00:43    Titel: Probleme beim DownloadSorter 2.0 Antworten mit Zitat

Hatte ich vergessen: Das Script ist natürlich noch nicht auf Kürze usw. optimiert, es werden auch sonst noch einige Fehler im Detail stecken (ganz sicher *gg*), bin natürlich auch dahingehend sehr an Eurer Kritik interessiert.

Gruß,

Busyman
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Fischer-Bayern.de Foren-Übersicht -> AppleScript-Forum Alle Zeiten sind GMT + 2 Stunden
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Deutsche Übersetzung von phpBB.de


AppleScript für absolute Starter