เนื้อหาไดเรกทอรีลงในรายการสเปรดชีต


2

ฉันต้องการเปลี่ยนเนื้อหาของโฟลเดอร์ให้เป็นรายการสำหรับ Numbers (หรือ Excel) - มีวิธีการทำสิ่งนี้โดยอัตโนมัติหรือไม่


เพียงแค่ชื่อไฟล์หรือข้อมูลเพิ่มเติม (ขนาด, วันที่สร้าง ฯลฯ ) เช่นกัน?
nohillside

เพียงชื่อไฟล์คือความต้องการของฉันในทันที - ขอบคุณ!
EyeOjO

คำตอบ:


1

คุณสามารถใช้ Automator.app เพื่อสร้างบริการใน Finder

เปิด Automator

  • สร้างเอกสารบริการใหม่
  • ตั้งค่าบริการที่ได้รับโฟลเดอร์ที่เลือกในFinder
  • เพิ่มการดำเนินการรับเนื้อหาของโฟลเดอร์
  • เพิ่มแอปพลิเคชันRun Run Applescript

  • แทนที่เนื้อหา applescript ด้วย applescript ด้านล่าง

.

on run {input, parameters}
    set theCsv to ""
    repeat with i from 1 to number of items in input
        tell application "Finder" to set this_item to displayed name of item i of input
        set this_item to this_item & ",\\n"
        set theCsv to theCsv & this_item
    end repeat
    do shell script "echo " & quoted form of theCsv & " > ~/Desktop/names.csv"
end run

ป้อนคำอธิบายรูปภาพที่นี่

  • บันทึกเอกสาร

ตอนนี้เมื่อคุณเลือกโฟลเดอร์ในตัวค้นหาคุณสามารถใช้เมนูตามบริบทเพื่อเรียกใช้บริการในโฟลเดอร์

มันจะสร้างไฟล์. csv บนเดสก์ท็อปของรายการ ซึ่งจะเปิดในเบอร์

หมายเหตุ: หากคุณมีมากกว่าหนึ่งโฟลเดอร์มันจะสร้างรายการเดียวสำหรับทั้งสอง เป็นไปได้ที่จะใช้งานได้เฉพาะในโฟลเดอร์แรกหรือทั้งสองอย่าง


UPDATE:

ตัวอย่างแอปพลิเคชันด่วนเพื่อทำงานกับหลาย ๆ โฟลเดอร์ในรายการที่เลือก สิ่งนี้จะสร้างไฟล์แยกต่างหากสำหรับแต่ละไดเรกทอรีในตัวเลือกการค้นหา

    on run {input, parameters}
        set theCsv to ""

        set pathList to {}
        repeat with i from 1 to number of items in input
            tell application "Finder" to set the Cpath to container of item i of input as alias
            if (Cpath as alias) is not in pathList then
                copy Cpath to end of pathList
            end if
        end repeat


        repeat with a from 1 to number of items in pathList
set this_item to item a of pathList
    set thisFileName to ""
        tell application "Finder" to set thisFileName to displayed name of (this_item as alias)

            set the CSVpath to ""
            repeat with i from 1 to number of items in input

                tell application "Finder"
                    set the Cpath to container of item i of input as alias

                    if container of item i of input as alias is this_item then
                        set theName to displayed name of item i of input & ",\\n"
                        set CSVpath to CSVpath & theName

                    end if
                end tell
            end repeat

     do shell script "echo " & quoted form of CSVpath & " > ~/Desktop/" & quoted form of thisFileName &  ".csv"
        end repeat


    end run

UPDATE 2. ตัวอย่างที่สองนี้ใช้ชื่อโฟลเดอร์เป็นชื่อสำหรับไฟล์


เป็นสิ่งที่ยอดเยี่ยมและใช้งานได้เป็นไปได้หรือไม่ที่จะปรับแต่งโค้ดเพื่อให้ชื่อของเอาต์พุต. csv เหมือนกับชื่อโฟลเดอร์อินพุต?
EyeOjO

ใช่. ให้ฉันนาที
markhunte

@EyeOjO ทำแล้ว (ตัวอย่างที่สองเท่านั้น)
markhunte

0

ที่ง่ายที่สุด ( แต่อย่างใดคู่มือ) วิธีการคือการเลือกไฟล์ทั้งหมดใน Finder คัดลอกไปที่คลิปบอร์ดด้วยแล้ววางชื่อลงในแผ่นเบอร์ด้วยCmd-CCmd-V

หากคุณต้องการการควบคุมที่มากขึ้นคุณสามารถเปลี่ยนกลับเป็นเทอร์มินัลสำหรับขั้นตอนการคัดลอกและเรียกใช้

cd /some/folder
ls *.jpeg | pbcopy

เพื่อรับชื่อไฟล์ jpeg ทั้งหมดในโฟลเดอร์นี้ลงในคลิปบอร์ด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.