Al momento sul mio disco locale ho 88 file .dmg , tre dei quali sono crittografati. Prima di eseguire la riga di comando qui sotto non sapevo quanti file .dmg crittografati avessi e se ce ne fossero, dove fossero. Quindi, sebbene la seguente riga di comando possa apparire contorta, dovrebbe funzionare come pubblicizzato.
Apri Terminale e copia e incolla l'intera riga di comando sottostante, così com'è, nel Terminale, quindi premi Invio .
mdfind '(kMDItemFSName=*.dmg)' | while IFS= read -r line; do printf "$line " & hdiutil isencrypted "$line"; done > dmg_file_list; grep ': YES' dmg_file_list > encrypted_dmg_file_list; clear; cat encrypted_dmg_file_list
Questo creerà due file, dmg_file_list e encrypted_dmg_file_list , e l'uscita il contenuto di quest'ultimo al terminale. I file possono anche essere aperti in un editor di testo.
I file conterranno il percorso completo dei file .dmg seguito da uno spazio e crittografato: NO o crittografato: SÌ nel file dmg_file_list e solo il percorso completo dei file .dmg seguito da uno spazio e crittografato: SÌ in il file crittografato_dmg_file_list .
È quindi possibile eliminare manualmente i due file creati dal comando al termine.
Nota: una volta eseguita la riga di comando, potrebbe essere necessario attendere qualche istante per elaborare e inviare i contenuti del file crittografato_dmg_file_list al Terminale. Dipenderà da quanti file .dmg ci sono.
Ecco la riga di comando completa mostrata con la continuazione della riga in modo da assicurarti di copiare e incollare l'intera riga. (Puoi effettivamente copiare e incollare la riga di comando anche in questo formato.)
mdfind '(kMDItemFSName=*.dmg)' | while IFS= read -r line; \
do printf "$line " & hdiutil isencrypted "$line"; \
done > dmg_file_list; grep ': YES' dmg_file_list > encrypted_dmg_file_list; \
clear; cat encrypted_dmg_file_list
.dmgfile crittografati , ad esempio l'utilizzols -l@potrebbe indicare checom.apple.metadata:kMDItemDownloadedDatenon esiste uncom.apple.metadata:kMDItemEncrypted. Puoi vedere gli attributi dei metadati di un file usandomdls. Quindi l'utilizzohdiutil imageinfoè probabilmente l'unico modo per ottenere direttamente dal file stesso. Potresti copiarlo e reindirizzare l'output dihdiutil imageinfoagrep, ecc. Ed elaborarlo ulteriormente in modo che l'output finale possa essere un elenco di file crittografati, ecc. Tutto dipende da ciò che stai cercando di realizzare all'inizio.