Saya mencoba menarik daftar file dengan ekstensi yang cocok dari direktori dengan subfolder, untuk digunakan dalam skrip terminal.
Daftar item harus dipisahkan oleh bilah vertikal "|" untuk menjalankan melalui aplikasi baris perintah, dan saya harus menghapus item pertama dalam daftar.
on run
set savedDelimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to "|"
set sourceFolder to choose folder with prompt "Please select directory."
tell application "System Events"
set itemList to (POSIX path of every disk item in folders of sourceFolder whose name extension is "VOB" as string)
log itemList as string
end tell
set AppleScript's text item delimiters to savedDelimiters
end run
Masalahnya adalah daftar yang dihasilkan sebenarnya daftar dalam daftar. Perhatikan kurung kurawal ganda dalam jawaban:
get POSIX path of every disk item of every folder of alias "Macintosh HD:Users:USERNAME:Desktop:test2:" whose name extension = "VOB"
--> {{"/Users/USERNAME/Desktop/test2/VIDEO_TS/VIDEO_TS.VOB", "/Users/USERNAME/Desktop/test2/VIDEO_TS/VTS_01_0.VOB", "/Users/USERNAME/Desktop/test2/VIDEO_TS/VTS_01_1.VOB", "/Users/USERNAME/Desktop/test2/VIDEO_TS/VTS_01_2.VOB", "/Users/USERNAME/Desktop/test2/VIDEO_TS/VTS_01_3.VOB", "/Users/USERNAME/Desktop/test2/VIDEO_TS/VTS_01_4.VOB"}}
Ketika saya mencoba bekerja dengan daftar, seperti:
log rest of itemList as string
Ini mengembalikan string kosong, karena daftar yang dibuat hanya memiliki satu item.
Mengira saya pasti kehilangan sesuatu yang jelas ... terima kasih telah melihatnya!
terminal
finder
applescript
bashlock
sumber
sumber
set itemList to (POSIX path of every file of sourceFolder whose name extension is "VOB") as string
dan pilih folder yang benar-benar berisi file .VOB, apakah itu melakukan apa yang Anda inginkan?Jawaban:
Mencoba:
sumber
Saya tahu Anda memiliki jawaban tetapi untuk tetap menggunakan Applescript murni, Anda dapat memodifikasi skrip Anda dengan cara ini:
sumber