फैंसी फ़ाइल को नष्ट मॉड्यूल मेरे लिए सब पर काम नहीं किया। यहां अधिक मैनुअल विकल्प है।
एक फ़ोल्डर से फ़ाइलों को हटाने के लिए जो आप प्रबंधित फ़ाइल तालिका में नहीं हैं:
1) सभी प्रबंधित फ़ाइलों की एक सूची बनाएँ:
mysql whateverdb -e "select filename from file_managed" > ~/managed-files.txt
2) एक निर्देशिका से सभी फ़ाइलों को हटा दें जो उस सूची में नहीं हैं। ऐसा करने के लिए मैंने एक छोटी सी बैश स्क्रिप्ट का उपयोग किया:
#!/bin/bash
IMG_FOLDER='/var/www/html/yoursite/docroot/sites/default/files/certain-images'
EXCLUDES='/home/yourhomeuser/managed-files.txt'
for FILE in $IMG_FOLDER/*; do
if ! grep "$FILE" "$EXCLUDES"; then
echo "Deleting $FILE"
rm -f "$FILE"
fi
done
आप जिस IMG_FOLDER
भी फोल्डर से फाइल्स को हटाना चाहते हैं (और अपनी अपवर्जित फाइल के लिए पथ को अपडेट करें) के रास्ते में परिवर्तन करें