shell删除路径下的文件夹
时间: 2023-08-17 11:04:21 浏览: 196
可以使用以下的shell脚本来删除指定路径下的所有文件夹:
```
#!/bin/bash
# 定义要删除的路径
path=/path/to/folder
# 判断路径是否存在
if [ -d $path ]; then
# 进入指定路径
cd $path
# 删除所有文件夹
rm -rf */
# 输出删除成功的消息
echo "Delete all folders in $path successfully!"
else
# 输出路径不存在的消息
echo "$path does not exist!"
fi
```
在这个脚本中,我们首先定义了要删除的路径,然后使用`if`语句判断该路径是否存在。如果存在,我们就进入该路径,并使用`rm -rf */`命令来删除该路径下的所有文件夹。最后,我们输出删除成功的消息。如果路径不存在,我们就输出相应的信息。
需要注意的是,使用这种方法删除文件夹时,文件夹下的所有文件也会被删除,因此请谨慎操作。
相关问题
shell删除当前路径下所有文件夹中的txt文件
可以使用以下命令来删除当前路径下所有文件夹中的 `.txt` 文件:
```
find . -type f -name "*.txt" -delete
```
这个命令的含义是,从当前目录开始查找 `-type f` 所有文件,其中 `-name "*.txt"` 匹配所有以 `.txt` 结尾的文件,最后 `-delete` 删除匹配的文件。
注意,这个命令会删除所有匹配的 `.txt` 文件,包括文件夹内的文件,如果你不希望删除文件夹内的文件,可以使用 `-maxdepth` 选项来限制查找深度,例如:
```
find . -maxdepth 1 -type f -name "*.txt" -delete
```
这将只在当前目录下查找并删除匹配的 `.txt` 文件,不会查找子文件夹中的文件。
shell删除指定路径下所有的文件夹,但非文件夹不删除
可以使用以下的shell脚本来删除指定路径下的所有文件夹:
```
#!/bin/bash
# 定义要删除的路径
path=/path/to/folder
# 判断路径是否存在
if [ -d $path ]; then
# 进入指定路径
cd $path
# 删除所有文件夹
find . -type d -exec rm -rf {} \;
# 输出删除成功的消息
echo "Delete all folders in $path successfully!"
else
# 输出路径不存在的消息
echo "$path does not exist!"
fi
```
在这个脚本中,我们首先定义了要删除的路径,然后使用`if`语句判断该路径是否存在。如果存在,我们就进入该路径,并使用`find`命令来查找所有的文件夹,并使用`rm -rf`命令来删除这些文件夹。最后,我们输出删除成功的消息。如果路径不存在,我们就输出相应的信息。
需要注意的是,使用这种方法删除文件夹时,文件夹下的所有文件也会被删除,因此请谨慎操作。同时,该脚本只会删除路径下的文件夹,非文件夹不会被删除。
阅读全文