Delete all files with a certain extension using Android ADB - android

How can I delete all files with a certain extension, for example .png using Android ADB?
Removing one file would be:
adb shell rm downloads/bg.png
But how can I delete all png images on the entire device?

It's very close to what #Robert mentioned in the comments
$ find -L /sdcard -name "*.png" -exec rm {} \; 2>/dev/null
the only catch is that /sdcard is a symlink so you have to follow them (-L).

Related

Tar command not found in adb shell

I am new to android sorry if i sound like a nub but .
I want to copy a tar file inside the device through adb . After that i would like to extract it inside the device through tar command line tool. Is it possible ? If yes how do i install tar ?
zsh: command not found: tar
Use
adb push 'pathOnDesktop' 'pathOnDevice'
For copying files already on the device to a different location use
adb shell cp source destination
tar utility is bundled with adb
Do to see available commands and arguments with tar
adb shell tar --help
and then
tar –xvzf filename
to extract the zipped files.

How to exclude a directory from deleting using ADB shell?

I am using adb shell rm -rf /sdcard/* to delete all contents from SDCARD right now. But I want to exclude a folder named Download from deleting. Can someone help me into this?
You need to use the name of the folder you want to delete. If it is inside sdcard directory, then run:
adb shell rm -rf /sdcard/Download

Unzip files in phone from ADB terminal

I am trying to unzip files in my android (11) phone with ADB from the terminal (Ubuntu 20.04). I need to run a script from my Ubuntu laptop to unzip files on my phone.
I have already tried Busybox from this suggestion. With this app, I can unzip files after accessing the shell. I mean -
$ adb shell
a60q:/ $ cd /sdcard/
a60q:/sdcard $ unzip data.zip
Archive: data.zip
inflating: Screenshot from 2020-11-30 16-45-46 (7th copy).png
inflating: Screenshot from 2020-11-30 16-45-46 (10th copy).png
But when I try to use the direct command, it shows an error.
$ adb shell unzip /sdcard/data.zip
unzip: couldn't create file Screenshot from 2020-11-30 16-45-46 (7th copy).png: Read-only file system
Archive: /sdcard/data.zip
Rooting phone isn't an option. My questions are -
What can I do here to unzip from the terminal?
Is there any tool to make compressed zip files (in Android) from the terminal?
In order to successfully invoke the unzip command from the terminal you should explicitly specify the folder where the zip's content will be extracted, for instance:
adb shell unzip /sdcard/data.zip -d /sdcard
By invoking unzip --help you will get more information on the other parameters available as well.

How does one execute a command on the terminal?

If you can't open the link, these are the commands that I need to execute to completely delete Android Studio from my laptop.
rm -Rf /Applications/Android\ Studio.app
rm -Rf /Applications/Android\ Studio.app
rm -Rf /Applications/Android\ Studio.app
When I type the command into command prompt, it says "'rm' is not recognized as an internal or external command, operable program or batch file.". Any help is appreciated.
rm is a Unix utility for removing files. If you are not using a Unix based OS like Linux or OSX, then this instruction is probably not for you. To uninstall you can simply go to Control Panel and uninstall as you do other programs. The rm alternative for Windows Command prompt is called del. More information on del is found here.
A better Windows Command-Line equivalent of rm -rf is
rmdir /s /q
or, probably not as good, but interesting and informative
echo y | rmdir /s
This is discussed in the answer, here. There, I referenced the "interesting and informative" command ...
... used back in the day when commands did not have options to suppress confirmation messages. Simply ECHO the needed response and pipe the value into the command.

How to delete folders in sdcard of file explorer?

I created several folders in the sdcard (Eclipse) by running an Android application in the emulator. Now I want to delete the folders which I have created on the sdcard.
I am able to delete files in the folders but I could not delete the folders in the sdcard.
How can I do this? Is there a way to delete folders?
Using adb command you can delete folders.
click Run - > CMD-> type adb shell --> cd sdcard -> rmdir {dirname}
Note : Make sure your dir should be empty.
For non-empty directory use.
click Run - > CMD-> type adb shell --> cd sdcard -> rm -r {dirname}
Well, answer from Brijesh Thakur is really helpful.
I just tried this and it worked fine for me to some extent. I would like to mention that if your directory contains any files then the rmdir command will not work. You will have to use rm -r command for that.
To make it more easy for beginners I am explaining the process as follows.
First you need to locate your adb folder, mine was at D:\Android SDK\platform-tools>
Now execute adb shell in a command prompt as:
D:\Android SDK\platform-tools>adb shell
A hash (#) symbol or dollar sign ($) will appear, then enter the following command:
# cd sdcard
Now you are in the sdcard of the device. If your folder is a sub folder then further locate its parent folder using the cd command. Finally, use the rm -r command to remove the folder recursively as follows. This will delete all files and directories in the folder.
# rm -r FolderName
Please note that if you want to remove a single file you can use the rm command only and then the file name (with extension probably). And you can also use rmdir command if the directory you trying to delete is empty.
Using adb shell with rm command you can delete(nonempty as well as empty) folders.
click Run -- > CMD--> type adb shell --> cd sdcard --> rm -r {dirname}
We can do it in a single command line as under:
adb shell rm -r sdcard/<dirname>
If you want to delete everything in your android file system, you need to get its storage name from adb!
# adb shell echo $EXTERNAL_STORAGE
It will give you the path where everything is stored!It will print the storage name in command line, for few devices it is /sdcard and for few, it is /storage/emulated/legacy etc
Now you want to delete everything in that, you need
# adb shell rm -r /sdcard/
that /sdcard/ is not same for all devices, it could be /storage/emulated/legacy/ for some devices!
warning-: It will delete every folder in your file manager except "android" folder
now if you want to delete a particular folder in that file manager
# adb shell rm -r /sdcard/FolderName
remount the sdcard with read and write permission:
adb shell mount -o remount,rw /
Go to adb shell:
adb shell
Delete file you want:
rm -r /sdcard/file_name
It will work most better.

Categories

Resources