Si vous connectez un disque dur portable ou une clé USB à un Mac, puis que vous le connectez à Windows ou Linux, Notez qu'un grand nombre de .DS_Store et ._ [noms de fichiers existants de type métafichier] de fichiers existants sont créés. Ces fichiers sont plus petits que la taille du secteur du système de fichiers, de sorte que des milliers de fichiers peuvent gaspiller quelques Go. C'était exactement ce que c'était.
Sous Linux, il semble que vous puissiez le supprimer avec `find. -Name" ._ * "-exec rm -f {} \;`
etc.
Même si j'essaie de rechercher ._ * avec l'explorateur Windows et de le supprimer, il est très difficile de le supprimer car les fichiers ordinaires et les répertoires qui ne sont pas ._ * sont capturés.
J'ai donc créé un script simple avec python pour ceux qui ont des problèmes et moi-même. De plus, comme nous n'avons pas effectué de contrôles stricts des fichiers, il est possible que les fichiers qui ne devraient pas être supprimés soient supprimés, veuillez donc utiliser ce script à vos propres risques.
import os
import sys
import shutil
def deldirs(baseDir):
print "Start " + baseDir
ds = [baseDir]
while True:
if len(ds) == 0:
print "Finished!!"
break
# Pop next target dir
d = ds.pop(0)
# Delete file
fs = os.listdir(d)
for fn in fs:
fp = d + "/" +fn
if fn[:2] == "._" or fn == ".DS_Store":
if os.path.isfile(fp):
print "Del File " + fp
os.remove(fp)
#elif os.path.isdir(fp):
# print "Del Dir " + fp
# shutil.rmtree(fp)
if __name__ == "__main__":
if len(sys.argv) != 2:
print "Usage: delmacfile.py TARGET_DIR"
exit(1)
baseDir = sys.argv[1]
if os.path.isdir(baseDir) == False:
print "Please arg1 is a TAGET_DIR"
exit(2)
deldirs(baseDir)
Il semble y avoir un moyen de le faire avec les commandes Windows, mais c'est pour les amateurs de Python.
Recommended Posts