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

CD Daten auf selbst gewählten lokalen Pfad kopieren

 
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
noobi
•->
•->


Anmeldedatum: 15.08.2007
Beiträge: 6

BeitragVerfasst am: 15.08.2007 - 17:21    Titel: CD Daten auf selbst gewählten lokalen Pfad kopieren Antworten mit Zitat

Hi,

an folgendem bin ich grad am kniffeln:

von einer image cd (läuft unter flash) wird ein applescript gestartet, das funktioniert problemlos.

dieses also soll nun den kompletten inhalt (mit unterordnern) der cd auf einen selbst gewählten pfad auf der lokalen platte kopieren.

die ermittlung des pfades der cd habe ich an den anfang gestellt:

*************************************************************
set StoredPath to (path to me) as string

set oldDelims to AppleScript's text item delimiters
set AppleScript's text item delimiters to ":"
set itemCount to (count text items of StoredPath)
set lastItem to the last text item of StoredPath
if lastItem = "" then
set itemCount to itemCount - 2 -- bei Pfad zu einem Ordner
else
set itemCount to itemCount - 1 -- bei Pfad zu einer Datei
end if

set myPath to \254
text 1 thru text item itemCount of StoredPath & ":"
set AppleScript's text item delimiters to oldDelims
*************************************************************

als nächstes würde ich den zielpfad waehlen lassen:

*************************************************************
set ZielOrdner to choose folder with prompt "Ziel-Ordner auswaehlen"
try
tell application "Finder"
set these_files to every file of the source_folder
repeat with i from 1 to the count of these_files
set this_path to (duplicate ((item i of these_files) as string) to \254
ZielOrdner with replacing) as alias
end repeat
end tell
on error error_message
display dialog error_message buttons {"OK"} default button 1
end try
*************************************************************

nur wie übergebe ich jetzt den als erstes ermittelten pfad der cd so, das er den gesamten ordner, also den cd namen als wurzelverzeichnis mit sämtlichen unterordnern auf den zielpfad kopiert? hab das mal mit einzelnen dateien geschafft, aber er hat nie die unterordner kopiert Confused

...wenn der kopiervorgang erfolgreich beendet ist, soll von einer lokalen datei (liegend im gerade kopierten verzeichnis) eine Alias Datei auf dem Desktop erstellt werden.

Der Code dazu hat eigentlich gut funktioniert:

*************************************************************
try
set totalPath to (myPath & "intro_lokal") as alias

tell application "Finder"
make new alias file to totalPath at desktop with properties {name:"starte_intro"}
end tell
on error errMsg
display dialog errMsg
end try
*************************************************************

Kann mir jemand helfen die o.g. Puzzle Teile richtig zusammenzufügen? Smile

Bin, weil AS-Neuling da jetzt etwas überfordert ^^

Danke schon mal für Eure Mühe,

Gruß noobi
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 15.08.2007 - 18:59    Titel: Antworten mit Zitat

das kopieren ist nicht wirklich schwierig (ziel und quelle sind in diesem fall vom typ alias). beispiel:

set source to (choose folder) -- cd auswählen
set targetfolder to (choose folder) -- zielordner auswählen
tell application "Finder"
   duplicate source to targetfolder
   -- kopiert alles in einen ordner der den namen der cd trägt
end tell
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
noobi
•->
•->


Anmeldedatum: 15.08.2007
Beiträge: 6

BeitragVerfasst am: 15.08.2007 - 19:14    Titel: Antworten mit Zitat

vielen dank für die schnelle antwort...werd ich gleich mal versuchen...

kann man nach der ganzen kopier routine aus diesem script dann ein anderes script starten?

nämlich eines, das das alias (also eine kopierte datei) erzeugen kann?

das problem was ich sehe ist, das er ja erst warten muss, bis dieses script auf die lokale platte kopiert ist...

der code oben für das alias erzeugen funktioniert sehr gut, brauche also einen befehl der eine externe as-anwendung startet...

danke nochmal

iScript hat Folgendes geschrieben:
das kopieren ist nicht wirklich schwierig (ziel und quelle sind in diesem fall vom typ alias). beispiel:

set source to (choose folder) -- cd auswählen
set targetfolder to (choose folder) -- zielordner auswählen
tell application "Finder"
duplicate source to targetfolder
-- kopiert alles in einen ordner der den namen der cd trägt
end tell
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 15.08.2007 - 19:56    Titel: Antworten mit Zitat

noobi hat Folgendes geschrieben:
kann man nach der ganzen kopier routine aus diesem script dann ein anderes script starten?
... warten muss, bis dieses script auf die lokale platte kopiert ist...

das ist nicht nötig: der kopiervorgang liefert erst dann ein ergebnis, wenn er abgeschlossen ist (jeder as-befehl liefert ein ergebnis), und erst dann geht's weiter im script.
du kannst deine alias-code-zeilen also problemlos direkt anhängen.
du kannst auch direkt aus dem result des kopiervorgangs dein alias erzeugen.
gruss, H =:o) L G I
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
noobi
•->
•->


Anmeldedatum: 15.08.2007
Beiträge: 6

BeitragVerfasst am: 16.08.2007 - 16:07    Titel: Antworten mit Zitat

iScript hat Folgendes geschrieben:
noobi hat Folgendes geschrieben:
kann man nach der ganzen kopier routine aus diesem script dann ein anderes script starten?
... warten muss, bis dieses script auf die lokale platte kopiert ist...

das ist nicht nötig: der kopiervorgang liefert erst dann ein ergebnis, wenn er abgeschlossen ist (jeder as-befehl liefert ein ergebnis), und erst dann geht's weiter im script.
du kannst deine alias-code-zeilen also problemlos direkt anhängen.
du kannst auch direkt aus dem result des kopiervorgangs dein alias erzeugen.
gruss, H =Surprised) L G I


...vielen dank, hat super geklappt Smile. nur, jetzt schaffe ich es leider nicht, den richtigen pfad für den alias zu bauen. So habe ich es versucht:

*************************************************************
-- Erstellung des Alias Links und Kopie auf Desptop

try
set totalPath to (targetfolder & "sp_intro_lokal") as alias

tell application "Finder"
make new alias file to totalPath at desktop with properties {name:"AliasName"}
end tell
on error errMsg
display dialog errMsg
end try
*************************************************************

Er gibt eine Fehlermeldung zurück:

Can´t make {alias "Macintosh HD:Users:G6_01:Desktop:", "sp_intro_lokal"} into type alias.


Es fehlt also komplett der Name des kopierten Ordners (da er ja bis Desktop richtig geht, Ordner liegt auf Desktop), und das korrekte zusammensetzen des Pfades.

Hatte die Hoffnung, das deine variable "targetfolder" den kompletten neuen Pfad, also inkl. neuer Ordnername, enthält.

Es wäre glaube ich möglich in den Pfad den Ordnernamen zu schreiben, da ein kopierter Ordner genauso heissen darf wie eine CD, die sich gerade im Laufwerk befindet. Böse wird es nur, wenn schon mal ein Ordner mit dem Namen existiert und er automatisch sowas wie "Kopie 1" dahinterhängt.

Wäre also über eine Abfrage schon der bessere Weg.

!!!

Wenn ich ein AS in den gerade auf den Desktop kopierten Ordner lege, macht er (mit ermittlung des eigenen pfades, siehe oben) sauber eine Alias Datei.

Könnte man diese nicht aus dem vorherigen Script aufrufen oder bringt das Probleme mit sich?

danke und gruß
noobi
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 16.08.2007 - 17:32    Titel: Antworten mit Zitat

korrektur für dein script:
set totalPath to ((targetfolder as text) & "sp_intro_lokal") as alias

und hier die direkte verwurstung des ergebnisses des kopiervorgangs (ein alias des zielordners):
set source to (choose folder) -- cd auswählen
set targetfolder to (choose folder) -- zielordner auswählen
tell application "Finder"
   make new alias file to (duplicate source to targetfolder with replacing) at desktop with properties {name:"Mein Wunderschönes Alias auf den gerade erzeugten Ordner"}
   -- kopiert alles in einen ordner der den namen der cd trägt
end tell
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
noobi
•->
•->


Anmeldedatum: 15.08.2007
Beiträge: 6

BeitragVerfasst am: 16.08.2007 - 20:09    Titel: Antworten mit Zitat

iScript hat Folgendes geschrieben:
korrektur für dein script:
set totalPath to ((targetfolder as text) & "sp_intro_lokal") as alias

und hier die direkte verwurstung des ergebnisses des kopiervorgangs (ein alias des zielordners):
set source to (choose folder) -- cd auswählen
set targetfolder to (choose folder) -- zielordner auswählen
tell application "Finder"
make new alias file to (duplicate source to targetfolder with replacing) at desktop with properties {name:"Mein Wunderschönes Alias auf den gerade erzeugten Ordner"}
-- kopiert alles in einen ordner der den namen der cd trägt
end tell


klasse, funzt !! danke nochmal 4 help Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
noobi
•->
•->


Anmeldedatum: 15.08.2007
Beiträge: 6

BeitragVerfasst am: 17.08.2007 - 11:24    Titel: Antworten mit Zitat

noobi hat Folgendes geschrieben:
iScript hat Folgendes geschrieben:
korrektur für dein script:
set totalPath to ((targetfolder as text) & "sp_intro_lokal") as alias

und hier die direkte verwurstung des ergebnisses des kopiervorgangs (ein alias des zielordners):
set source to (choose folder) -- cd auswählen
set targetfolder to (choose folder) -- zielordner auswählen
tell application "Finder"
make new alias file to (duplicate source to targetfolder with replacing) at desktop with properties {name:"Mein Wunderschönes Alias auf den gerade erzeugten Ordner"}
-- kopiert alles in einen ordner der den namen der cd trägt
end tell


klasse, funzt !! danke nochmal 4 help Smile



doch noch ein kleiner nachtrag:

bei langsamen CD laufwerken oder großen zu kopierenden datenmengen auf der cd, gibt es manchmal eine timeout meldung, und das ganze wird nicht bis zum ende durchgeführt...kann man dieses timeout i-wie abschalten oder umgehen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
iScript
•---->
•---->


Anmeldedatum: 29.03.2001
Beiträge: 1116

BeitragVerfasst am: 17.08.2007 - 15:30    Titel: Antworten mit Zitat

Guckst Du hier.
Gruss, H =:o) L G I
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name
spirigwi
•----->
•----->


Anmeldedatum: 10.07.2003
Beiträge: 1517
Wohnort: Olten-CH

BeitragVerfasst am: 17.08.2007 - 18:50    Titel: Antworten mit Zitat

oder Hier: http://www.fischer-bayern.de/phpBB2/viewtopic.php?t=1297
derrene hat Folgendes geschrieben:
jedoch kommt nach ca. 20 min eine meldung, das die zeit überschritten ist und es hört auf.

Ganz interessant scheint mir dazu auch die Bemerkung Snows, dass nicht zwingend das Problem gelöst sei mit "timeout erhöhen" trotz der wohl eindeutigen Meldung. Die Erklärung auf iScripts Seite finde ich Klasse ! (ich hätte noch das Sätzlein angefügt, dass 300 sec <=> 5 Min als Zeitbegriff-Erleichterung für Wink not-quick-Kopf-Rechner like me Wink )

PS: gerade erst entdeckt: bei Desktop-Objekten genügt offenbar auch der Satz: hat Folgendes geschrieben:
tell application "Finder" to make new folder with properties ¬
   {name:"neuer_Konfuser_Ordner ", comment:"konfuuus"}
-->legt auf dem Schreibtisch neuen Ordner an

_________________
 Skript-Fan => ein � -Fan =>Scr¿¿-KongFuSius_Kurpfusius


Zuletzt bearbeitet von spirigwi am 18.08.2007 - 18:29, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden AIM-Name
noobi
•->
•->


Anmeldedatum: 15.08.2007
Beiträge: 6

BeitragVerfasst am: 18.08.2007 - 17:23    Titel: Antworten mit Zitat

danke dir nochmal für hilfe, läuft jetzt alles prima Smile
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
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