Ваша команда полностью верна . Но поскольку ваш телефон не рутирован , команда exe c возвращает ошибку. Хотя я нашел одно решение / обходной путь для пользователей, отличных от root:
Изображения / видео говорят лучше, чем слова. Проверьте изображения ниже для ясности. Изображения прикреплены в виде ссылок.
РЕШЕНИЕ:
find $source -name '*.mp[34]' -size +7 -mtime +7
Найти ссылку на команду
Выполнить указанную выше команду без exe c, Сохранить вывод / ошибку в двух разных переменных. Эта переменная будет содержать все пути к файлам , которые удовлетворяют всем условиям, указанным в команде find.
- Используйте
Variable Search Replace action
в выходной переменной, чтобы заменить \n
на ,
Поиск заменить изображение
- Затем используйте
Variable Split action
, чтобы разделить каждый путь к файлу на отдельные переменные с разделителем ,
. Пример:% Output0% Output1 ..
Изображение действия разделения переменной
- Используйте
for Loop
, чтобы перебрать эти значения и применить Move action
.
Для l oop Изображение
Копировать изображение действия
Список задач для используйте
После применения этих задач / действий мы выполним требование без доступа root.
Следовательно, это переместит ваши файлы из внутреннего хранилища в SD-карта в соответствии с вашими условиями без доступа root.
Я прочитал, проанализировал, попробовал этот процесс на моем рутированном телефоне, но не предоставил root доступ к действиям Tasker. Я узнал кое-что, чем хочу поделиться с вами, если интересно, читайте дальше.
*
Почему root важен
Если у вашего телефона был доступ root, то это однострочная команда find $source -name '*.mp[34]' -size +1M -mtime +7 -exec mv {} $dest \;
выполнит всю работу. Но без доступа root у нас осталось два варианта.
1-й вариант
find $source -name '*.mp[34]' -size +1M -mtime +7 | xargs mv --target-directory=$dest
Приведенная выше команда отлично работает в linux bash оболочке но в оболочке tasker , у нас есть одна небольшая проблема т.е. mv-команда не имеет опции --target-directory , которая исключительно сообщает mv, что целевой каталог = $ dest вместо интерпретации второго аргумента как назначения, который вызывает ошибку и этот метод не работает в Tasker .
Снова Лучше, чем слова. Проверьте ссылку на изображение ниже
Ограничения параметров команды перемещения
Вызывает ошибку
2-й вариант, который работает, но немного долго
Упоминается в начале сообщения.