Bagaimana saya bisa membuat Automator meminta direktori tujuan kepada pengguna?


5

Bagaimana saya bisa membuat skrip mengeluarkan file yang disandikan dalam direktori yang ditentukan pengguna?

Saya mencoba membuat encoder file media internal yang didasarkan pada Automator dan ffmpeg.

Saya ingin file sumber dijatuhkan pada ikon aplikasi dan kemudian bertanya kepada pengguna di mana akan menampilkan file yang disandikan.

Sejauh ini saya memiliki aplikasi Automator tempat saya menaruh file ke dalamnya dan menjalankan AppleScript ini:

    on run {input, parameters}

    tell application "Terminal"
        activate
        set filesString to ""
        repeat with file_ in input
            set filesString to filesString & " " & quoted form of (POSIX path of file_)
        end repeat
        do script "for f in" & filesString & "; do

ffmpeg -i \"$f\" -c:v copy -an ${f%.*}_264.mp4

done"
    end tell
    return input
end run

Saat ini aplikasi mengeluarkan file yang disandikan di direktori yang sama dengan file input.

Bagaimana saya bisa membuat Automator meminta pengguna dan menggunakan direktori tujuan?


Apa pertanyaan Anda?
CousinCocaine

Saya pikir Anda harus memiliki pertanyaan Anda tercermin dalam Judul juga. Semoga berhasil!
myhd

Jawaban:


6

Automator - 'Minta Item Pencari'

Anda mungkin harus membersihkan kode Anda. Sekarang Anda menggunakan dan AppleScript dan Automator dan BASH.

Bagaimanapun, di Automator Anda dapat meminta lokasi, menyimpan variabel itu dan menggunakannya nanti dalam skrip Shell Anda. Anda bisa 'menumpuk' variabel dalam array dengan menggabungkan 'Dapatkan Nilai Variabel'.

Contoh kode dan tangkapan layar:

# all input arguments
echo "${@}"

# The 'Output location' is the first in the stack
echo "Output folder location: ""$1"

# Loop through the remaining arguments
for f in "${@:2}"
do
    echo "Video file:""$f"
done

contoh automator


Dalam contoh Anda, bagaimana perintah ini berjalan: ffmpeg -i var1 -c: v copy -an var2 . Bagaimana saya akan melewatkan dua variabel ini?
o_ren

Anda dapat 'menumpuk' variabel dalam 'larik'. Saya telah memperbarui contoh saya.
CousinCocaine

Terima kasih @CousinCocaine. Saya menyesuaikan contoh Anda dengan kebutuhan saya dan tentu saja mendapat pelajaran yang sangat bagus.
o_ren
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.