[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Dateien in Ordner kopieren

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

Dateien in Ordner kopieren

mb_new
Beiträge gesamt: 123

27. Jan 2020, 12:55
Beitrag # 1 von 13
Bewertung:
(6026 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Liebe Skripter!

Ich versuche mit einem Skript den Inhalt eines Ordners auszulesen (das klappt), die Dateien möchte ich dann in einen anderen Ordner kopieren (das klappt NICHT) und anschließend die Originale löschen (das klappt wieder)

Was mach ich da falsch? Mir gelingt es einfach nicht, dass der copy befehl angewandt wird. Remove zB funktioniert.

Könnt ihr mir weiterhelfen?

Danke
Martin

Code
var myFolder = Folder.selectDialog(); 
var myFiles = myFolder.getFiles();

var newFolder = Folder.selectDialog();

for (var i = 0; i < myFiles.length; i++){

File (myFiles[i]).copy(newFolder);
File (myFiles[i]).remove();

}

X

Dateien in Ordner kopieren

Uwe Laubender
Beiträge gesamt: 5319

27. Jan 2020, 14:38
Beitrag # 2 von 13
Beitrag ID: #573737
Bewertung:
(6001 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,
funktioniert's, wenn Du die Schleife rückwärts laufen lässt?

Code
for( var i = myFiles.length-1 ; i >= 0 ; i-- ) 



als Antwort auf: [#573730]

Dateien in Ordner kopieren

Martin Fischer
  
Beiträge gesamt: 12783

27. Jan 2020, 14:41
Beitrag # 3 von 13
Beitrag ID: #573738
Bewertung:
(5998 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vermutlich muss zusätzlich zu dem. was Uwe geschrieben hat, statt "newFolder" der komplette Pfad als File-Objekt zur neuen Datei angegeben werden.

Also File(newFolder + '/' + [Dateiname])




als Antwort auf: [#573730]
(Dieser Beitrag wurde von Martin Fischer am 27. Jan 2020, 14:45 geändert)

Anhang:
copy.png (50.7 KB)

Dateien in Ordner kopieren

Uwe Laubender
Beiträge gesamt: 5319

27. Jan 2020, 15:10
Beitrag # 4 von 13
Beitrag ID: #573740
Bewertung:
(5988 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,
ja, das auch noch.
In Methode File.copy() wird als Argument entweder ein String oder ein File-Objekt erwartet.

Das sollte funktionieren:

Code
var myFolder = Folder.selectDialog();  
var myFiles = myFolder.getFiles();

var newFolder = Folder.selectDialog();

for ( var i = myFiles.length-1; i >=0; i-- )
{

var originalFile = myFiles[i];
var copyFile = File( newFolder +"/"+ originalFile.name );
if( copyFile.exists )
{
alert( copyFile +"\r"+"wird NICHT überschrieben. ");
continue
}

originalFile.copy( copyFile );

// TEST, OB DIE KOPIE AUSGEFÜHRT WURDE:
if( copyFile.exists )
{
originalFile.remove();
};

};



als Antwort auf: [#573738]

Dateien in Ordner kopieren

WernerPerplies
Beiträge gesamt: 2762

27. Jan 2020, 15:36
Beitrag # 5 von 13
Beitrag ID: #573742
Bewertung:
(5975 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

vielleicht hilft Dir dies Skript:

Kopieren von ganzen Ordnern


als Antwort auf: [#573730]

Dateien in Ordner kopieren

mb_new
Beiträge gesamt: 123

28. Jan 2020, 13:15
Beitrag # 6 von 13
Beitrag ID: #573750
Bewertung:
(5904 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Zusammen!

Danke für eure Hilfen. Habe das Skript von Uwe nun angepasst und es funktioniert einwandfrei.

Eine kleine Verständnisfrage noch:

Wenn ich einen Datei löschen möchte, muss da immer das"File" vorab oder danach dabei stehen?
Ich meine so:
Code
var delFile = File(myFolderName + "/" + myDocName); 
delFile.remove();



oder so:
Code
var delFile = myFolderName + "/" + myDocName; 
File(delFile).remove();


Ist das egal, auf welchem Weg man das skriptet?

Danke nochmals, schöne Grüße
Martin


als Antwort auf: [#573742]

Dateien in Ordner kopieren

WernerPerplies
Beiträge gesamt: 2762

28. Jan 2020, 13:32
Beitrag # 7 von 13
Beitrag ID: #573752
Bewertung:
(5893 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Martin,

Zitat Ist das egal, auf welchem Weg man das skriptet?


Nein! :-)

Code
delFile.remove(); 

benutzt die Methode eines existierenden Fileobjektes.
Zitat File(delFile).remove();

erzeugt ein temporäres Fileobjekt, dass nach Ausführung der Methode direkt wieder verworfen wird.

In der ersten Version steht Dir das Fileobjekt auch nach Ausführung des Removes mit seinen Eigenschften zur Verfügung.


als Antwort auf: [#573750]

Dateien in Ordner kopieren

Uwe Laubender
Beiträge gesamt: 5319

28. Jan 2020, 13:36
Beitrag # 8 von 13
Beitrag ID: #573753
Bewertung:
(5891 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,
vorneweg:

getFiles() gibt Dateien und Unterverzeichnisse gleichermaßen zurück.

Du solltest deshalb in der Methode getFiles() eine Filterfunktion laufen lassen, die Verzeichnisse innerhalb des Source-Verzeichnisses rausnimmt. Auch Dateien, die mit einem Punkt beginnen, wenn Du auf Mac OS X unterwegs bist. Und auch Dateien, die in der Eigenschaft hidden den Wert true haben.



In etwa so:

Code
var testForInvisibleOnMac = RegExp( "^\\." ); 

myFileList = theFolder.getFiles
(
function(file)
{
if
(
file instanceof File
&&
!file.name.match( testForInvisibleOnMac )
&&
!file.hidden
)

return true
}
);


Nun zu Deiner anderen Frage:
Wenn Du erwartest, dass in der Variablen delFile wirklich ein Datei-Objekt gespeichert wird, dann benutze den Konstruktor File().

Oder Du benennst die Variable um in beispielsweise DateiPfadString oder so und beim Aufruf von remove() musst Du mit File(DateiPfadString).remove() arbeiten, damit aus dem DateiPfadString eine Datei-Objekt wird, das mit remove() etwas anfangen kann.


als Antwort auf: [#573750]
(Dieser Beitrag wurde von Uwe Laubender am 28. Jan 2020, 13:38 geändert)

Dateien in Ordner kopieren

mb_new
Beiträge gesamt: 123

29. Jan 2020, 10:53
Beitrag # 9 von 13
Beitrag ID: #573787
Bewertung:
(5826 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke an alle für die Erklärungen und Hilfestellungen.

Eine kurze Frage hab ich noch zum "copy"-Befehl.

Ich habe jetzt bemerkt, dass zB bei Schriften, das Icon geändert wird und auch das bevorzugte Programm, mit dem die Datei geöffnet werden soll. In meinem Fall auf einmal statt der Schriftsammlung nun Illustrator.
Bei psd, ai, png, jpg Dateien ist das bisher gleich geblieben.

Gibt es dafür eine Erklärung bzw. eine Möglichkeit das unverändert zu lassen?

Mein Laiengedanke sagt mit als eine Lösung, die Datei nicht zu kopieren sondern in einen anderen Ordner zu "verschieben".

Vielleicht hat hier noch wer einen Input, unbedingt notwendig ist es mir nicht, nur der "Form" halber.

Schöne Grüße
Martin


als Antwort auf: [#573753]

Dateien in Ordner kopieren

Thomas Richard
Beiträge gesamt: 19339

29. Jan 2020, 11:22
Beitrag # 10 von 13
Beitrag ID: #573788
Bewertung:
(5820 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Da fehlt wahrscheinlich beim copy der Touch, der dem System (im Falle eines aktuellen OS X der Spotlight Datenbank), bescheid stößt, dass die Ressourcen mit zu bewegen sind. Klassisches Problem, das einem ein Heliosserver erspart ;-)


als Antwort auf: [#573787]

Dateien in Ordner kopieren

WernerPerplies
Beiträge gesamt: 2762

30. Jan 2020, 09:25
Beitrag # 11 von 13
Beitrag ID: #573818
Bewertung:
(5767 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin Uwe,

Zitat originalFile.copy( copyFile );

// TEST, OB DIE KOPIE AUSGEFÜHRT WURDE:
if( copyFile.exists )
{
originalFile.remove();
};


An dieser Stelle würde mich interessieren, warum die Kopie nicht ausgeführt wurde, deshalb vielleicht besser so abfragen:

Code
            if (!(originalFile.copy(copyFile))){ 
alert(/*String*/originalFile.error) ;
}
else{
if (!(originalFile.remove())
alert(/*String*/originalFile.error)
}



als Antwort auf: [#573740]

Dateien in Ordner kopieren

Uwe Laubender
Beiträge gesamt: 5319

30. Jan 2020, 11:51
Beitrag # 12 von 13
Beitrag ID: #573825
Bewertung:
(5751 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat von Martin …Eine kurze Frage hab ich noch zum "copy"-Befehl.

Ich habe jetzt bemerkt, dass zB bei Schriften, das Icon geändert wird und auch das bevorzugte Programm, mit dem die Datei geöffnet werden soll. In meinem Fall auf einmal statt der Schriftsammlung nun Illustrator.
Bei psd, ai, png, jpg Dateien ist das bisher gleich geblieben.

Gibt es dafür eine Erklärung bzw. eine Möglichkeit das unverändert zu lassen?


Hallo Martin,
auf welchem Betriebssystem bist Du unterwegs?

Du hast "Schriftsammlung" erwähnt, also Mac OS X.
Aber welches genau?

Habe gerade keinen Mac zur Hand, um das ausgiebiger zu testen.
Was sind das für Schriften? OpenType-Fonts?


als Antwort auf: [#573787]

Dateien in Ordner kopieren

mb_new
Beiträge gesamt: 123

30. Jan 2020, 15:14
Beitrag # 13 von 13
Beitrag ID: #573832
Bewertung:
(5725 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe!

Ich habe hier OSX 10.14, InDesign CC 2018.
Die Schriften bekommen ein "Text"-Symbol in der Dateiinformation und als vorgeschlagenes Programm Adobe Illustrator.

Ich habe es mit zig anderen dateien probiert (docx, xlsx, ai, png, jpg, psd, pdf), die bleiben alle unverändert. Bei den Schriften hatte ich bis jetzt otf und ttf probiert, die werden beide verändert.

Zuhause hab ich noch einen Rechner mit 10.11 und InDesign CC 2018. Dort tritt das gleiche auf, nur dass die Schriften ein anderes Symbol bekommen und das vorgeschlagene Programm auch ein anderes ist (weiß jetzt von hier gerade nicht welches).

Schöne Grüße
Martin


als Antwort auf: [#573825]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
14.05.2024

Online
Dienstag, 14. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Prozessoptimierung ist ein Teamsport! Keine Software und keine Maschine allein kann Ihnen helfen, die Effizienzpotenziale Ihres Betriebes maximal auszuschöpfen. Von der Auftragsannahme über die Vorstufe und den Druck bis hin zur Weiterverarbeitung – alles muss optimal ineinandergreifen. Apropos Weiterverarbeitung – in vielen Druckbetrieben fristet sie in Sachen Prozessoptimierung immer noch ein Schattendasein. Dabei liegen hier mittlerweile die größten Einsparpotenziale! In einem Webinar von Horizon und Impressed erfahren Sie, wie Sie diese Einsparungen realisieren können. Horizon, bekannt für innovative Lösungen in der Druckweiterverarbeitung, bietet mit iCE LiNK eine Workflowlösung für die Weiterverarbeitung. iCE LiNK überwacht, visualisiert und analysiert Produktionsabläufe und unterstützt bei der Wartung – damit immer alles reibungslos läuft. Den gleichen Anspruch hat der von Impressed entwickelte Impressed Workflow Server – er ist die smarte PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt. Im Webinar zeigen Ihnen die Experten von Horizon und Impressed, wie beide Lösungen im Team die Effizienz und Produktivität Ihres Betriebes steigern können. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Horizon

https://www.impressed.de/schulung.php?c=sDetail&sid=327

Einsparpotenziale in der Weiterverarbeitung
Veranstaltungen
16.05.2024

Online
Donnerstag, 16. Mai 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Nein

Organisator: Impressed / Günther Business Solutions

https://www.impressed.de/schulung.php?c=sDetail&sid=326

Und es geht doch: Automatisierung im Großformatdruck!