その拡張属性を持つすべての.webarchiveファイルからxattr com.apple.quarantineを削除する方法は?


13

複数のファイルシステムにまたがるOmniWebで保存された多数の.webarchiveファイルがあります。たとえば、次のとおりです。

sh-3.2$ ls -@ 2012-03-19.webarchive 
2012-03-19.webarchive
sh-3.2$ ls -@l 2012-03-19.webarchive 
-rw-r--r--@ 1 gjp22  staff  3722852 19 Mar  2012 2012-03-19.webarchive
    com.apple.quarantine         26 
sh-3.2$ xattr -l 2012-03-19.webarchive 
com.apple.quarantine: 0000;4f66fcc8;OmniWeb.app;

これらのファイルは、身元不明の開発者からのものとして扱われます。Controlキーを押しながらクリックすることでそれぞれを開くことができますが、面倒です。

したがって、おそらくfind(1)を含むコマンドを使用して、このようなすべての拡張属性削除してください

回答:


21
find . -iname '*.webarchive' -print0 | xargs -0 xattr -d com.apple.quarantine
  • com.apple.quarantine拡張属性を削除します(xattr -d
  • .webarchiveの拡張子を持つすべてのファイルから(-iname '* .webarchive'
  • 現在のディレクトリとそのサブディレクトリにある(.-depth、-depthが暗示されている場合)
  • xargs(-print0 | xargs -0)を通過して、スペースやその他の特殊文字を含むファイル名に関する問題を回避します(同様の目標は、を使用することでわずかに効率を下げることで達成できますfind . -iname '*.webarchive' -exec xattr -d '{}' \;)。

効率の違いの説明:

この場合のように構文で許可されている場合、xargsは次のような1つ以上のコマンドラインをアセンブルします。 xattr -d com.apple.quarantine /path/to/file1.webarchive /path/to/fileN.webarchive

覚えやすい私の意見ではfind-onlyバージョンは毎回コマンドを繰り返します:xattr -d com.apple.quarantine /path/to/file1.webarchive ; xattr -d com.apple.quarantine /path/to/fileN.webarchive


1
find\+代わりにで終わる場合、同じ効率的なファイルパスの組み立てを行います\;
スリップD.トンプソン

0

これを実現するより自動化された方法を次に示します。

オートマトンを開く-「サービス」を選択

これを貼り付けて

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 "xattr -r -d com.apple.quarantine" & filesString
    end tell
    return input
end run

「ファイルまたはフォルダ」が「サービスの受信を選択済み」に選択されていることを確認してください。「in」で「Finder」が選択されていることを確認します

[保存]をクリックし、「検疫解除」という名前を付け、検疫から削除するフォルダまたはファイルに移動し、右クリックして[検疫解除]を選択します

https://forums.macrumors.com/threads/%E2%80%9Cverifying%E2%80%9D-upon-opening-every-file.2065395/page-2#post-25134721

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.