2017-01-16 4 views
0

Wie füge ich Nummern vor dem Namen eines Ordners und Unterordners hinzu?AppleScript: Wie füge ich Zahlen vor dem Namen von Ordnern und Unterordnern hinzu?

Ich habe mein Skript hier für einen "Folder Maker" und ich kann eine Nummer im Hauptordner hinzufügen, aber wie fügt man die gleiche Nummer für alle Ordner und Unterordner hinein? Bitte helfen Sie. Vielen Dank.

property structure : {"Contract Proposals", {"Contracts and proposals", {"Owner", "Architect", "Consultant", "General contractor"}, "Scope of work"}, "Existing Conditions", {"Base building information", "Owner provided drawing (can be CAD)", "Lease documents", "Building reports/environmental reports", "Surveys"}, "Programming", {"Questionnaires/spreadsheets", "Interviews/meeting minutes", "Adjacency matrix and diagrams"}, "Code-Permit", {"Approvals", "Zoning/building permit applications", "Permit documentation submitted", "Research section scanned", "Summary of code research", "Correspondence"}, "Design Sketches", {"Existing conditions (field verified)", {"Sk0"}, "Schematic design", {"Preliminaries", "Sk1 through x"}, "Design development", {"Sk1 thru x"}, "Renderings/presentations (dated)"}, "Construction Documentation", {"Construction documents (dated)", {"Sheet specs"}, "Specifications", "ComCheck/resCheck", "Supplemental drawings (dated)", {"Sd1 thru x"}, "Bulletins/addenda", "Design info/backgrounds (to/from consultants)"}, "Bidding", {"List of contractors", "Instructions to bidders", "Bids received", "Bid comparison"}, "Contract Administration (CA)", {"Payment approvals/bids", "Field notes/meeting minutes", "Pay applications", {"Incoming & reviewed"}, "Change order requests", {"Log", "Reviewed", "Approved"}, "Submittals", {"Log", "Submittals", "Reviewed submittals"}, "Request for info (RFI)", {"Log", "RFI's", "RFI responses"}}, "Close-Out", {"Punchlist", "Warranties", "Lien releases", "Certificate of occupancy", "Meeting minutes", "Meeting agendas", "Finished form of presentation (PDF or PPT)"}, "Product Info", {"Cut sheets", "Installation manuals", "Instruction manuals", "CAD block of fixture"}, "Cost Data", {"Cost estimates", "Cost analysis", "Bill of materials", "RSMeans information", "General contractor proposals/bids", "Vendor bids"}, "Communication", {"Email correspondence (dated)", "Meeting minutes (# and date)", "Client", {"Incoming", "Outgoing"}, "Contractor", {"Incoming", "Outgoing"}, "Consultant", {"Incoming", "Outgoing"}}} 

set j_name to text returned of (display dialog "Enter Job Name:" default answer "job name") 
repeat 
    try 
     set j_number to text returned of (display dialog "Enter Job Number:" default answer "0") 
     if (j_number as integer) < 10000 and ¬ 
      (j_number as integer) > -1 then exit repeat 
    on error errMess number errNum 
     if errNum is -128 then error errMess number errNum 
     display alert "Error" message "Project Number is not a number or is out of range." 
    end try 
end repeat 
set j_number to text -5 thru -1 of ("0000" & j_number & " ") 
set structure to {j_number & j_name} & {structure} 
makeFolderStructure out of structure at (choose folder with prompt "Choose parent folder for structure") 


to makeFolderStructure out of someItem at someFolder 

    set currentParent to someFolder 
    if class of someItem is not list then set someItem to {someItem} 
    set completed to true 
    repeat with anItem in someItem 
    if class of anItem is list then 
     makeFolderStructure out of anItem at currentParent 
    else -- 
     tell application "Finder" to try 
      make new folder at someFolder with properties {name:(anItem as text)} 
      set currentParent to result as alias 
     on error errMess number errNum 
      if errNum is -48 then 
       set currentParent to ((someFolder as text) & (anItem as text)) as alias 
      else 
       set completed to false 
      end if 
     end try 
    end if 
    end repeat 
    return completed 
end makeFolderStructure 

What happens when I run my Code

What I would like to get when I run my code

+0

Ihre Frage ist leider nicht ganz klar. – TGrif

+0

@TGrif Es ist ein schweres Problem zu erklären, wie ich es verstehe, ich habe den J_NUMBER Teil und das ist die Nummer, die die Nummer vor dem Namen des Ordners wird. Ich möchte, dass diese Nummer auch vor allen Sub- und Sub-Unterordnern erscheint. Macht das mehr Sinn? –

+0

Ihre Frage ist schwer zu verstehen - geben Sie vielleicht eine Beschreibung oder ein Diagramm von dem, was Sie beginnen möchten und was Sie wollen, damit wir den Prozess verstehen können. –

Antwort

0

Applescript ist ziemlich klobig für Sachen wie diese, würde ich bash vorschlagen. Speichern Sie Folgendes in einer Datei in Ihrem Verzeichnis HOME namens $HOME/go.

#!/bin/bash 
read -p "Enter the prefix number: " prefix 
mkdir -p "$HOME/Desktop/Result" 
cd "$HOME/Desktop/Result" 
mkdir -p "${prefix}Bidding" 
mkdir -p "${prefix}Close-Out" 
mkdir -p "${prefix}Code-Permit" 

Dann Terminal (Typ Befehl + Raum und die Eingabe Terminal beginnen, bis es errät, dann Enter drücken) beginnen und in Terminal Typ der folgenden, um das Skript ausführbar zu machen - drücken Sie die Eingabetaste/Enter am Ende:

Dann doppelklicken Sie $HOME/go im Finder und es wird Ihnen die Frage stellen und erstellen Sie die Ordner auf Ihrem Desktop in einem Ordner namens Result.

Es tut nicht alles, was Sie sagen, aber Sie sollten in der Lage sein, es von dort aus zu erarbeiten.

+0

Vielen Dank für Ihre Antwort @MarkSetchell, ich verstehe die Probleme mit Apple-Skript, aber mit Bash wird auch keine Option für mich sein. Wenn du ich versuche, nach einer Applescript-Antwort zu suchen. Nochmals vielen Dank für den Versuch. –

+0

@NikitaBeniaminov Würden Sie gerne sagen, warum Sie 'bash' nicht verwenden können - es könnte eine Lösung geben, mit der ich Ihnen helfen kann. –

+0

Ich weiß einfach nichts darüber. Wenn Sie meinen Code ausführen fragt er, wo ich den Ordner whats ist der Projektname und dann was die Projektnummer. Dann erstellt es alle Ordner mit in den Ordnern, Unterordnern. Ich weiß nicht wirklich, wie man überhaupt anfängt, Bash zu verwenden, aber ich kann sehen, dass es mir eine Zahl gibt, aber der Name und der Standort müssen manuell in den Code eingegeben werden. Es tut mir leid, dass ich so ein Shmendrik bin. Ich denke nur, wenn ich hinzufügen könnte, wie man eine Zeile im Apple Script erstellt, die die Nummer des Ordners definieren würde und es in der Zeile "make folder" hinzufügen würde, wäre es gelöst. Danke –

Verwandte Themen