2016-10-31 2 views
0

Ich habe ein AppleScript, mit dem ich den Text in jeder Datei bearbeiten kann, indem ich eine Instanz des Textes durch einen anderen Text ersetze.So bearbeiten Sie mehrere Dateien gleichzeitig mit AppleScript

Wichtig, dieses Skript sollte diese Dinge in dieser Reihenfolge tun. Wählen Sie einen Ordner. Wählen Sie alle Dateien mit der TXT-Erweiterung aus Erreichen Sie jede Datei einzeln und finden Sie einen bestimmten Text. Ersetzen Sie den Text durch neuen Text. Schließen Sie die Datei und fahren Sie mit der nächsten Datei fort.

Der Code ist unter

set aFolder to choose folder "Select folder to be processed" 
tell application "Finder" to set allFIles to every file of aFolder whose name extension is in {"txt"} 

repeat with someFile in allFIles 

set SomeText to (read SomeFile) 

set {SearchText, ReplaceText} to {"Searches of this", "Replaces with this"} 
set {TempTID, AppleScript's text item delimiters} to {AppleScript's text item delimiters, SearchText} 
set {TextItems, AppleScript's text item delimiters} to {text items of SomeText, ReplaceText} 
set {SomeText, AppleScript's text item delimiters} to {TextItems as text, TempTID} 

set OpenFile to open for access SomeFile with write permission 
try 
    set eof of OpenFile to 0 
    write (text 1 thru -2 of SomeText) to OpenFile as text 
    close access OpenFile 
on error errmess 
    log errmess 
    try 
     close access OpenFile 
    end try 
end try 
end repeat 

Ich mag entweder mehrere Dateien auf einmal auswählen können oder einen Ordner auswählen und das Skript verwenden, um alle Dateien im Ordner zu bearbeiten, die den gesuchten Text enthält. Jede Hilfe wird geschätzt.

EDIT: Ich weiß, dass ich das Skript bekommen kann, um die TXT-Dateien vom Rest des Ordners zu trennen, und ich weiß, dass ich diese Dateien "sehen" kann (wenn ich einen Anzeigedialog mache, zum Beispiel, I kann eine Variable hinzufügen, die den Namen von SomeFile aufruft und in einem Dialogfeld angezeigt wird) Ich kann die Datei einfach nicht lesen, damit ich sie bearbeiten kann. Was ich brauche, ist in der Lage zu sein, einen Ordner zu öffnen, alle TXT-Dateien zu finden, sie zu öffnen, den Text zu bearbeiten, indem eine Instanz eines bestimmten Wortes/Satzes durch eine andere ersetzt wird, und die Datei zu schließen, bevor mit dem nächsten fortgefahren wird.

+0

Ich bin noch nicht auf dieses besondere Skript zu erhalten, wie beabsichtigt. Um das klarzustellen, werde ich den ursprünglichen Post mit einem besseren Verständnis von dem bearbeiten, was ich brauche, um das Skript zu machen und warum. Ich werde auch den Code hinzufügen, den pbell zur Verfügung gestellt hat, da es funktioniert, aber nicht so, wie ich es brauche. – medrob

Antwort

0

Sie können Ordner auswählen und verarbeiten alle Dateien in es mit diesem Skript:

set aFolder to choose folder "Select folder to be processed" 
tell application "Finder" to set allFIles to every file of aFolder whose name extension is in {"txt"} 

repeat with someFile in allFIles 
-- do here what you need for someFile (alias) !! 
-- you can cut/paste your current script here 
end repeat 
+0

Also habe ich getan, was Sie vorgeschlagen haben, habe meinen Code in den Snip eingefügt, den Sie angegeben haben. Problem ist, dass es nicht einen ganzen Ordner macht, sondern den Ordner öffnet und mir erlaubt, eine Datei in diesem Ordner auszuwählen. Wenn ich die Datei "wähle", muss ich eine andere Datei auswählen. Ich kann mehrere Dateien ohne Ende auswählen (was bedeutet, dass ich nie mit der Auswahl fertig bin). Es schreibt den Text in der Datei wie ich brauche, aber es gibt keine Möglichkeit, das Skript zu verlassen, wenn ich das Fenster der Auswahldatei schließe, das den Fehler des Skripts verursacht. Außerdem muss ich nacheinander auf einmal statt des gesamten Ordners wählen. – medrob

+0

Wenn Sie Ihren Code in meinen einfügen, müssen Sie Ihre erste Zeile "set SomeFile to (Datei auswählen)" löschen, da die Variable someFile bereits in meiner Schleife definiert ist. Ich habe Ihren Code nicht getestet, weil ich davon ausgehe, dass er für 1 Datei funktioniert. – pbell

Verwandte Themen