hilfdirselbst.ch
Facebook Twitter gamper-media
« « 1 2 » »  
flobuc
Beiträge: 246
23. Nov 2009, 09:04
Beitrag #16 von 28
Beitrag ID: #424909
Bewertung:
(6411 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[JavaScript] PDFs verschieben ...


Hallo Martin,

das könnte passieren. Ich hab hier nochmal eine kleine Überprüfung eingebaut ob das File schon existiert bevor kopiert und gelöscht wird.

Code
//aktuelles Dokument  
var currentDocument=app.activeDocument;

//Neuer Basisordner erzeugen
var baseFolder = new Folder("/c/Hier_neuer_Basis_Pfad");
if(!baseFolder.exists){
baseFolder.create();
}

for(j=0;j < currentDocument.links.length; j++){ // durchlaufe alle Links im Dokument
var aLink = currentDocument.links[j];

if(aLink.status==LinkStatus.NORMAL){ //Verknüpfung stimmt
if(aLink.linkType=="Adobe Portable Document Format (PDF)"){
var f = new File(aLink.filePath);
//Unterordner erzeugen
var subfolderName = f.path.substring(f.path.lastIndexOf("/")+1, f.path.length);
var subfolder = new Folder(baseFolder+"/"+subfolderName);
if(!subfolder.exists){
subfolder.create();
}

var newFilename = baseFolder+"/"+ subfolderName +"/"+f.name;
var newFile = new File(baseFolder+"/"+ subfolderName +"/"+f.name);
if(!newFile.exists){
f.copy(newFilename);
aLink.relink(newFile);
f.remove();
}
}
}
}

currentDocument.links.everyItem().update();



Gruss

Flo
als Antwort auf: [#424906] Top
 
X
WernerPerplies
Beiträge: 2176
23. Nov 2009, 09:28
Beitrag #17 von 28
Beitrag ID: #424912
Bewertung:
(6405 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[JavaScript] PDFs verschieben ...


Hi,

gibt es eigentlich kein Move, also so etwas wie
var f = new File(filePath);
f.Move(newFilePath)?

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler jetzt mit Vollwaschgang
Aktuelles
XING
als Antwort auf: [#424909] Top
 
Martin Fischer  M  p
Beiträge: 11772
23. Nov 2009, 09:55
Beitrag #18 von 28
Beitrag ID: #424919
Bewertung:
(6387 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[JavaScript] PDFs verschieben ...


Nein.

copy() und remove(), wie von Florian angewandt.

Viele Grüße
Martin
als Antwort auf: [#424912]
(Dieser Beitrag wurde von Martin Fischer am 23. Nov 2009, 10:06 geändert)
Top
 
WernerPerplies
Beiträge: 2176
23. Nov 2009, 10:03
Beitrag #19 von 28
Beitrag ID: #424921
Bewertung:
(6381 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[JavaScript] PDFs verschieben ...


Danke,

auch kein Rename? Move und Rename sind oft in Ihrer Funktion identisch.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler jetzt mit Vollwaschgang
Aktuelles
XING
als Antwort auf: [#424919] Top
 
Martin Fischer  M  p
Beiträge: 11772
23. Nov 2009, 10:07
Beitrag #20 von 28
Beitrag ID: #424924
Bewertung:
(6380 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[JavaScript] PDFs verschieben ...


Ok. Rename() ist vorhanden. ;-)
Code
rename()  

fileObj.rename (newName)
newName The new file name, with no path.

Renames the associated file. Does not resolve aliases, but renames the referenced alias or shortcut
file itself.

Returns true on success.


Viele Grüße
Martin
als Antwort auf: [#424921] Top
 
WernerPerplies
Beiträge: 2176
23. Nov 2009, 10:11
Beitrag #21 von 28
Beitrag ID: #424928
Bewertung:
(6375 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[JavaScript] PDFs verschieben ...


Danke,

ich habe das gerade selbst nachgesehen, leider ohne Pfad. da wurde wohl ein wenig Funktionalität ausgeklammert.

MSJava kann das, bei Sun weiß ich es nicht.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler jetzt mit Vollwaschgang
Aktuelles
XING
als Antwort auf: [#424924] Top
 
flobuc
Beiträge: 246
23. Nov 2009, 10:11
Beitrag #22 von 28
Beitrag ID: #424929
Bewertung:
(6376 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[JavaScript] PDFs verschieben ...


Hallo Werner,

einen "move"-Befehl gibt es nicht. Nur "copy" und "remove".

Aber vielleicht kann mir hier im Forum einer die Funktion "changePath" erklären. Wofür braucht man denn diese Funktion? Man ändert den Pfad eines File oder Folder-Objekts, aber man verschiebt ihn nicht. Kennt jemand einen Anwendungsfall wo das relevant wäre?

Gruss

Flo
als Antwort auf: [#424912] Top
 
kkauer
Beiträge: 661
23. Nov 2009, 10:39
Beitrag #23 von 28
Beitrag ID: #424934
Bewertung:
(6358 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[JavaScript] PDFs verschieben ...


Antwort auf [ WernerPerplies ] MSJava kann das, bei Sun weiß ich es nicht.

und was hat das mit dem hier diskutierten JavaSCRIPT zu tun?
als Antwort auf: [#424928] Top
 
WernerPerplies
Beiträge: 2176
24. Nov 2009, 07:39
Beitrag #24 von 28
Beitrag ID: #425086
Bewertung:
(6300 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[JavaScript] PDFs verschieben ...


Flo,

wenn ich die Doku richtig interpretiere:
(changePath()
fileObj.changePath (path)
path A string containing the new path, absolute or relative to the current folder.
Changes the path specification of the referenced file.
Returns true on success.

Ändert ChangePath den Pfad des Filobjects:

Nicht getestete Beispielanwendung (bitte ggf. korrigieren):

var workFile = new File("/InDesign/Kunden/Maier/myFile.txt");
workFile.ChangePath("/InDesign/Kunden/Müller/);
workfFile.Path -> "/InDesign/Kunden/Müller/

Du müsstest dann mal testen, was man mit dem geänderten Fileobject anfangen kann.

HTH

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler jetzt mit Vollwaschgang
Aktuelles
XING
als Antwort auf: [#424934] Top
 
flobuc
Beiträge: 246
24. Nov 2009, 08:45
Beitrag #25 von 28
Beitrag ID: #425092
Bewertung:
(6287 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[JavaScript] PDFs verschieben ...


Hallo Werner,

genau so ist es.
Und ich überlege was ich mit einem derart geänderten File-Objekt anfangen soll?

Gruss

Flo
als Antwort auf: [#425086] Top
 
Martin Fischer  M  p
Beiträge: 11772
24. Nov 2009, 08:52
Beitrag #26 von 28
Beitrag ID: #425095
Bewertung:
(6283 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[JavaScript] PDFs verschieben ...


Hallo Florian,

> Und ich überlege was ich mit einem derart geänderten File-Objekt anfangen soll?

Mir geht es wie Dir.
Bin auch etwas ratlos.

Viele Grüße
Martin
als Antwort auf: [#425092] Top
 
WernerPerplies
Beiträge: 2176
24. Nov 2009, 09:10
Beitrag #27 von 28
Beitrag ID: #425096
Bewertung:
(6271 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[JavaScript] PDFs verschieben ...


Hallo Flo,

ich programmiere ja nicht mit JavaScript, aber warum probierst Du nicht einfach mal etwas aus?

Wie wäre es mit

workfFile.Write("Diesen Text"), einmal ohne existierenden Pfad, wenn's einen Fehler gibt mit existierendem Pfad.

Generell hast Du wohl nach ChangePath ein FileObject, das alle Eigenschaften der Ursprungsdatei hat, z. B.:

Mac: Creator,
displayName
encoding,
eventurell exists, falls die Datei mit geändertem Pfad auch existiert.
fsName
...

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler jetzt mit Vollwaschgang
Aktuelles
XING
als Antwort auf: [#425092] Top
 
WernerPerplies
Beiträge: 2176
24. Nov 2009, 09:20
Beitrag #28 von 28
Beitrag ID: #425099
Bewertung:
(6266 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

[JavaScript] PDFs verschieben ...


Martin,

vielleicht z. B. so etwas:

var workFile = new File("/InDesign/Kunden/Maier/myFile.txt");
workFile.ChangePath("/InDesign/Kunden/Müller/);
workFile.Linefeed = "\r\n";
workFile.Write(MacString);
müsste doch eine PC-Datei mit korrektem Zeilenende erzeugen?

oder den CreatorType ändern...

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign
neu: WpsProjectHandler jetzt mit Vollwaschgang
Aktuelles
XING
als Antwort auf: [#425095] Top
 
« « 1 2 » »  
X