Apakah ada cara saya dapat mengatur label warna file ke beberapa warna saat di Terminal?
Saya tahu bahwa perintah berikut mencantumkan beberapa info tentang apa warna saat ini, tetapi saya tidak tahu cara melakukan sesuatu tentang hal itu. Suka mengubahnya.
mdls -name kMDItemFSLabel somefile.ext
Alasan saya ingin tahu adalah bahwa saya ingin secara rekursif menandai semua file dalam folder jenis tertentu dengan label warna tertentu (dalam kasus saya abu-abu).
Saya tahu bagaimana melakukan penemuan:
find . -name "*.ext"
Dan saya tahu bagaimana saya bisa menjalankan perintah setelahnya untuk setiap file menggunakan -exec
, tapi saya perlu tahu bagaimana cara memberi label yang sebenarnya ...
Saya ingin solusi yang hanya melibatkan perintah bawaan untuk Mac OS X. Jadi sebaiknya tidak ada hal pihak ketiga, kecuali tidak ada cara lain.
osascript -e "beri tahu app \" Finder \ "untuk mengatur indeks label dari file POSIX (\" / junk.txt \ ") menjadi 1"
sumber
osascript -e "tell app \"Finder\" to set label index of POSIX file (\"/junk.txt\") to 1
Bagaimana jika junk.txt benarmy full/path/with spaces.txt
- benar dan disimpan dalam variabel yang disebut$fileName
Saya sudah mencoba banyak sintaks dan tanda kutip tunggal, tanda kutip ganda ... dan tidak ada yang berfungsi.File\ with\ Spaces.txt
Ini versi saya, berdasarkan keduanya dari @Lauri dan @Robert. Anda menentukan warna menggunakan nama warna, bukan nomornya. Nama warna konsisten dengan output
hfsdata -L
, jadi Anda menggunakan "Tidak Ada" untuk menetapkan tidak ada warna pada file. Simpan ini dalam file yang disebut "setlabel" dan lakukanchmod 755 setlabel
.sumber
Untuk melihatnya di Finder (saya tahu, bukan apa yang Anda minta), Anda dapat menggunakan xattr -l, atau xattr -p com.apple.FinderInfo, Anda mendapatkan bendera di antara nol (1E), di mana bit yang lebih rendah adalah warna .. Dengan barang pihak ketiga: hfsdebug (gunakan dengan sudo) untuk mendapatkan banyak info, di antaranya label warna yang bisa dibaca.
Untuk mengubahnya dengan hal-hal bagian ketiga: osxutils memiliki perintah setlabel.
sumber
Ini akan menggunakan urutan yang sama untuk warna sebagai Finder.
stderr dialihkan karena mengubah jalur relatif ke alias menghasilkan peringatan seperti CFURLGetFSRef telah melewati URL ini yang tidak memiliki skema pada 10.8. stdout dialihkan karena osascript mencetak nilai dari ekspresi terakhir.
sumber
Saya suka skrip ini, namun, mereka tidak bekerja untuk file saya yang menggunakan spasi dalam nama mereka sampai saya mengubah pengaturan IFS untuk bash di dalam skrip, juga saya mengubah input file untuk menerima file teks dengan daftar nama file:
sumber
Berikut adalah dua artikel yang menjelaskan cara melakukannya menggunakan applescript, yang pada gilirannya, dapat dipanggil dari baris perintah.
Cara mengatur label warna melalui Terminal atau applescript
dan
menandai file dengan warna di os-x finder dari skrip shell .
sumber