Как удалить все файлы в /sdcard/WhatsApp Business/Media/WhatsApp Business Documents/*

Mitnik

Client
Регистрация
22.12.2014
Сообщения
118
Благодарностей
6
Баллы
18
Здравствуйте!

Подскажите, пожалуйста, как удалить все полученные в автоответчик WA медиа файлы?
Команда adb shell rm -r /sdcard/WhatsApp Business/Media/WhatsApp Business Documents/*, не срабатывает (возможно, из-за пробелов в пути).

А еще лучше - удалить рекурсивно все файлы во всех вложенных папках - /sdcard/WhatsApp Business/Media/
Т.е., что нужно дописать в команду: adb shell rm -r /sdcard/WhatsApp Business/Media/* , чтобы удалить все файлы во всех вложенных папках?
 
Последнее редактирование:

Anatoly79

Moderator
Регистрация
17.04.2020
Сообщения
378
Благодарностей
269
Баллы
63
adb shell rm -r /sdcard/WhatsApp Business/Media/WhatsApp Business Documents/*, не срабатывает (возможно, из-за пробелов в пути).
Лучше использовать другую конструкцию. Для примера: создаем несколько папок и файлов в /sdcard/Test/WhatsApp Business/Media/WhatsApp Business Documents/. Потом удаляем.

Создание папки с файлами содержащими кириллицу и пробелы:
var input = instance.DroidInstance.Input;
var folder = "/sdcard/Test/WhatsApp Business/Media/WhatsApp Business Documents/";

input.Shell($"mkdir -p '{folder}'");
input.Shell($"mkdir -p '{folder}Media'");
input.Shell($"touch '{folder}Файл №1'");
input.Shell($"touch '{folder}Файл №2'");
input.Shell($"touch '{folder}Media/Файл №2'");
input.Shell($"touch '{folder}Media/Файл №1'");

//Получение содержимого папки
var result = input.Shell($"du -a '{folder}'");
return Environment.NewLine + result;
Рекурсивное удаление содержимого папки WhatsApp Business Documents:
var input = instance.DroidInstance.Input;
var folder = "/sdcard/Test/WhatsApp Business/Media/WhatsApp Business Documents/";
input.Shell($"cd '{folder}';rm -rf *");

//Получение содержимого папки
var result = input.Shell($"du -a '{folder}'");
return Environment.NewLine + result;
Рекурсивное удаление только файлов (c сохранением папок) делается через find -type f, но не думаю, что в данном случае это нужно. rm rf быстрее.
 
  • Спасибо
Реакции: Mitnik

Mitnik

Client
Регистрация
22.12.2014
Сообщения
118
Благодарностей
6
Баллы
18
Лучше использовать другую конструкцию. Для примера: создаем несколько папок и файлов в /sdcard/Test/WhatsApp Business/Media/WhatsApp Business Documents/. Потом удаляем.

Создание папки с файлами содержащими кириллицу и пробелы:
var input = instance.DroidInstance.Input;
var folder = "/sdcard/Test/WhatsApp Business/Media/WhatsApp Business Documents/";

input.Shell($"mkdir -p '{folder}'");
input.Shell($"mkdir -p '{folder}Media'");
input.Shell($"touch '{folder}Файл №1'");
input.Shell($"touch '{folder}Файл №2'");
input.Shell($"touch '{folder}Media/Файл №2'");
input.Shell($"touch '{folder}Media/Файл №1'");

//Получение содержимого папки
var result = input.Shell($"du -a '{folder}'");
return Environment.NewLine + result;
Рекурсивное удаление содержимого папки WhatsApp Business Documents:
var input = instance.DroidInstance.Input;
var folder = "/sdcard/Test/WhatsApp Business/Media/WhatsApp Business Documents/";
input.Shell($"cd '{folder}';rm -rf *");

//Получение содержимого папки
var result = input.Shell($"du -a '{folder}'");
return Environment.NewLine + result;
Рекурсивное удаление только файлов (c сохранением папок) делается через find -type f, но не думаю, что в данном случае это нужно. rm rf быстрее.
Понял.
Спасибо большое.
Попробую.
 

Mitnik

Client
Регистрация
22.12.2014
Сообщения
118
Благодарностей
6
Баллы
18
Лучше использовать другую конструкцию. Для примера: создаем несколько папок и файлов в /sdcard/Test/WhatsApp Business/Media/WhatsApp Business Documents/. Потом удаляем.

Создание папки с файлами содержащими кириллицу и пробелы:
var input = instance.DroidInstance.Input;
var folder = "/sdcard/Test/WhatsApp Business/Media/WhatsApp Business Documents/";

input.Shell($"mkdir -p '{folder}'");
input.Shell($"mkdir -p '{folder}Media'");
input.Shell($"touch '{folder}Файл №1'");
input.Shell($"touch '{folder}Файл №2'");
input.Shell($"touch '{folder}Media/Файл №2'");
input.Shell($"touch '{folder}Media/Файл №1'");

//Получение содержимого папки
var result = input.Shell($"du -a '{folder}'");
return Environment.NewLine + result;
Рекурсивное удаление содержимого папки WhatsApp Business Documents:
var input = instance.DroidInstance.Input;
var folder = "/sdcard/Test/WhatsApp Business/Media/WhatsApp Business Documents/";
input.Shell($"cd '{folder}';rm -rf *");

//Получение содержимого папки
var result = input.Shell($"du -a '{folder}'");
return Environment.NewLine + result;
Рекурсивное удаление только файлов (c сохранением папок) делается через find -type f, но не думаю, что в данном случае это нужно. rm rf быстрее.
Если не затруднит, подскажите, пожалуйста, конструкцию команды для "find -type f" (рекурсивное удаление только файлов (c сохранением папок).
Попробую еще и этот вариант.
 

Anatoly79

Moderator
Регистрация
17.04.2020
Сообщения
378
Благодарностей
269
Баллы
63
Если не затруднит, подскажите, пожалуйста, конструкцию команды для "find -type f" (рекурсивное удаление только файлов (c сохранением папок).
Рекурсивное удаление файлов:
var input = instance.DroidInstance.Input;
var folder = "/sdcard/Test/WhatsApp Business/Media/WhatsApp Business Documents/";
input.Shell($"cd '{folder}';find . -type f -exec rm {{}} \\;");

//Получение содержимого папки
var result = input.Shell($"du -a '{folder}'");
return Environment.NewLine + result;
 
  • Спасибо
Реакции: Mitnik

Mitnik

Client
Регистрация
22.12.2014
Сообщения
118
Благодарностей
6
Баллы
18
Рекурсивное удаление файлов:
var input = instance.DroidInstance.Input;
var folder = "/sdcard/Test/WhatsApp Business/Media/WhatsApp Business Documents/";
input.Shell($"cd '{folder}';find . -type f -exec rm {{}} \\;");

//Получение содержимого папки
var result = input.Shell($"du -a '{folder}'");
return Environment.NewLine + result;
Спасибо огромное!
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)