Saya mencari cara, melalui terminal, untuk mengubah apakah ekstensi file tertentu ditampilkan di Finder, sesuatu seperti:
$ hideextension ~/music/somesong.mp3
Tanpa harus membuka Mendapatkan informasi dan ubah kotak centang, karena sangat membosankan.
Saya berencana memasukkannya ke dalam skrip yang saya panggil melalui pintasan menggunakan FastScripts. Saya ingin mencoba dan menjauh dari skrip GUI karena rasanya tidak bersih, meskipun ada gagasan tentang cara menyelesaikannya.
macos
command-line
file-management
file-extension
joshua.thomas.bird
sumber
sumber
Jawaban:
Satu-satunya cara nyata untuk mengubahnya melalui GUI adalah dengan mengklik Sembunyikan ekstensi di Finder Info jendela. Memeriksa ini mengubah
com.apple.FinderInfo
atribut diperluas, yang biasanya tidak dapat diedit - setidaknya tidak mudah. Namun kita dapat menggunakan alat untuk melakukannya untuk kita.Agar pekerjaan di bawah ini berhasil, Anda jelas perlu memilikinya Tampilkan semua ekstensi file tidak dicentang dalam preferensi Pencari.
Melalui AppleScript
AppleScript menawarkan fungsionalitas ini dengan
set extension hidden
perintah. Anda jelas membutuhkanalias
ke objek file. Kita bisa mendapatkan itu, misalnya, melalui dialog. Ini hanya contoh kerja minimal.Untuk membalikkan, tukar saja
true
denganfalse
sini. Maka panggilan penuh, misalnya:Anda dapat menjalankan ini langsung dari file skrip juga (terima kasih @DanielBeck untuk penambahan):
Simpan ini sebagai
filename.scpt
dan jalankan dari baris perintah dengan:Dengan
SetFile
perintahJika Anda menginstal Xcode, Anda akan mendapatkan
SetFile(1)
biner, yang melakukan persis apa yang Anda inginkan (dan menawarkan beberapa fungsi yang terkait dengan atribut file):Sembunyikan ekstensi:
Tampilkan ekstensi lagi:
sumber
on run argv [newline] tell application "Finder" to set extension hidden of (POSIX file (first item of argv) as alias) to true [newline] end run
, digunakan sebagaiosascript filename.scpt targetfile
.SetFile
sudah usang sejak Xcode 6 . Juga tautan ke halaman buku panduan telah kedaluwarsa.Terima kasih slhck untuk jawaban Anda, itu membantu saya banyak untuk mendapatkan apa yang ingin saya lakukan.
Jadi karena saya suka pintasan, saya membuat Layanan "Jalankan Shell Script" melalui Automator.
Lalu saya pergi ke Finder - & gt; Preferensi Layanan dan menambahkan pintasan ke Layanan.
Semoga ini bisa membantu. =)
sumber
STATUS=
baris tidak ada tanda centang kembali di akhir. Juga, pada Mac + XCode saya, perintahGetFileInfo
memiliki modal G.Agar hanya memiliki satu argumen di baris perintah (
$ hideextension ~/music/somesong.mp3
), Anda dapat membuat applescript menjadi skrip shell. Dimungkinkan untuk menggunakan osascript di shebang (#!/usr/bin/osascript
) seperti pada kode berikut. Untuk melanjutkan :#!/usr/bin/osascript
) di awal fileDi Terminal, buat itu bisa dieksekusi:
Sekarang Anda dapat menjalankannya:
Jadi, kode untuk menggambarkan:
sumber