[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Verlinkte Dateien in einem Ordner sammeln

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Verlinkte Dateien in einem Ordner sammeln

-hans-
Beiträge gesamt: 748

7. Sep 2012, 20:39
Beitrag # 1 von 4
Bewertung:
(1962 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zur Ursprungsfrage im AS-Forum:http://www.hilfdirselbst.ch/..._P500432.html#500432

Meine Lösung dazu als ExtendScript:
Code
var myDoc = app.documents[0];   
if(!myDoc.isValid){alert('Nothing to do for this script as no ID-file is open.'); exit()}
var myDocName = myDoc.name.replace(/.indd/, '');
var theLinkedFilesPaths = myDoc.links.everyItem().filePath;

var myExportPath = "~/Desktop/Test/"; //Hier auf korrekte Notation achten !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
var myTargetFolderPath = myExportPath + myDocName + '/';

var checkFolder = Folder(myTargetFolderPath).create();
if(checkFolder === false){alert('Nothing to do for this script as the target Folder could not be created.'); exit()}


for (var myCounter = 0; myCounter < theLinkedFilesPaths.length; myCounter ++ )
{
theFile = new File(theLinkedFilesPaths[myCounter]);
if(!theFile.exists){continue}
theFileName = theFile.displayName;
theTargetPath = myTargetFolderPath + theFileName

var checkFile = File(theFile).copy(theTargetPath)
if(checkFile === false){displayDialog(theFile.displayName)}

}

function displayDialog(aString){
var infoWindow = new Window("palette");
infoWindow.add("statictext", undefined, "Problem: File with name " + aString+ " couldn't be copied.");
infoWindow.show();
$.sleep(1000);
infoWindow.close();
}

X

Verlinkte Dateien in einem Ordner sammeln

Uwe Laubender
Beiträge gesamt: 5261

9. Sep 2012, 11:03
Beitrag # 2 von 4
Beitrag ID: #500578
Bewertung:
(1892 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, Hans-Gerd!

Ich gebe mal wider, was mir zum Thema Duplizieren von Dateien per Script dazu einfällt. Man kann ja beide Welten mischen: JavaScript mit AppleScript.

Weshalb JavaScript mit etwas AppleScript verrühren?

Wahrscheinlich, weil es im Rahmen eines größeren, bereits ausgearbeiteten JavaScripts laufen soll.

Zugegeben, die Adobesche ExtendScript-Fassung von JavaScript unterstützt auch die "File" und "Folder"-Klasse mit entsprechenden Methoden für's Kopieren, aber es scheint da einen kleinen, entscheidenden Haken zu geben; einen Vorteil von AppleScript, wenn es darum geht Dateien zu kopieren:

AppleScript verändert (im Gegensatz zu JavaScript) die TimeStamp-Eintragungen der kopierten Datei nicht. Jedenfalls wird das in diesen beiden Threads ausführlich thematisiert (ich selbst hab' die Aussage noch nicht verifiziert):

Copy Files without changing date and time
http://forums.adobe.com/message/4671706#4671706

Copy Files to another location without Changing DateModified using Javascript

http://forums.adobe.com/thread/1061444?tstart=0


als Antwort auf: [#500557]

Verlinkte Dateien in einem Ordner sammeln

-hans-
Beiträge gesamt: 748

9. Sep 2012, 12:43
Beitrag # 3 von 4
Beitrag ID: #500579
Bewertung:
(1869 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
N'abend,

die Bridge hat das Problem nicht.

Code
 
#target Bridge

var thumbnail = new Thumbnail(File.openDialog());
var target = new Thumbnail(Folder.selectDialog());
thumbnail.copyTo(target)



als Antwort auf: [#500578]

Verlinkte Dateien in einem Ordner sammeln

Uwe Laubender
Beiträge gesamt: 5261

9. Sep 2012, 12:56
Beitrag # 4 von 4
Beitrag ID: #500580
Bewertung:
(1861 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, Hans-Gerd!
Ein sehr guter Hinweis.

Mit dem Scripten der Anwendung "Bridge" hatte ich mich bislang noch nicht beschäftigt.
Wird also Zeit, dass ich mal dazu komme…

Um Dein Script dann in ein InDesign-Script einzubauen, wird dann wohl noch ein wenig "BridgeTalk" benötigt.

Für Alle JavaScript-Anwender, die noch nicht von "BridgeTalk" gehört haben: "BridgeTalk" ist eine Möglichkeit innerhalb eines JavaScripts zwischen verschiedenen Programmen der CS hin- und herzuwechseln und Variablen und andere Konstrukte zu übergeben.

Ist aber auch nicht ohne und hat absolut nichts mit der CS-Anwendung "Bridge" zu tun.


als Antwort auf: [#500579]
X