实现过程:利用命令置换符与ls展开目录就可以对其内容进行操作;利用for循环遍历指定路径内的文件类型,对目录文件的复制要带上参数 -r,同时记录被复制的目录与普通文件数。
if [ -d /home/ubuntu//file_dir -a -d /home/ubuntu/dir_dir ]
then
echo 已有目录文件
read -p "是否要清空文件夹(Y/N):" var
if [ $var == Y ]
then
cd /home/ubuntu/dir_dir
rm -rf `ls`
cd /home/ubuntu/file_dir
rm -rf `ls`
else
echo 文件夹内容已留存
fi
else
echo 未有此目录文件,开始创建
mkdir /home/ubuntu/file_dir
mkdir /home/ubuntu/dir_dir
fi
var1=0
var2=0
read -p "请输入一个详细的文件路径:" file1
cd $file1
for file2 in `ls`
do
if [ -d $file2 ]
then
var1=$[$var1 + 1]
echo 正在转移目录文件:$file2
cp -r $file2 /home/ubuntu/dir_dir/
elif [ -f $file2 ]
then
var2=$[$var2 + 1]
echo 正在转移普通文件:$file2
cp $file2 /home/ubuntu/file_dir/
else
var2=$[$var2 + 1]
cp $file2 /home/ubuntu/file_dir/
fi
done
echo 目录文件数:$var1
echo 普通文件数:$var2
实现效果:
代码图:
部分效果