
求一shell 脚本
要求运行脚本能够让文件夹a中的文件复制到文件夹b中并且所有文件重命名为12345.。。。。。...
要求运行脚本能够让文件夹a中的文件复制到文件夹b中 并且所有文件 重命名 为 1 2 3 4 5.。。。。。
展开
展开全部
#!/bin/sh
# 先问user输入文件夹A和B的fullpath
echo "enter 文件夹 A 的 fullpath:\c"
read dirA
echo "enter 文件夹 B 的 fullpath: \c"
read dirB
# 到文件夹A中把所有的文件复制到B去(等会儿再重命名)
if [ ! -d "$dirA" ]
then
echo "ERROR: cannot change dir to \"$dirA\""
exit 1
fi
cd $dirA
# 如果dirB不存在的话,自己建一个
mkdir -p $dirB
# 查查看dirB有没有在?
if [ ! -d "$dirB" ]
then
echo "ERROR: \"$dirB\" is not a directory! Abort!"
exit 2
fi
# 复制
cd $dirA
find . -type f -print | cpio -pmdvu $dirB
# 重新命名
cd $dirB
let n=1
for eachFile in *
do
mv $eachFile $n
let n=n+1
done
# note: 这个简单的脚本,在替文件重新命名时没有考虑到subdir下面的文件
# 如果需要的话,也许可以用:
# for eachFile in $(find . -type f -print)
# do
# mv $eachFile $n
# let n=n+1
# done
你看看这样可以不,谢谢!
# 先问user输入文件夹A和B的fullpath
echo "enter 文件夹 A 的 fullpath:\c"
read dirA
echo "enter 文件夹 B 的 fullpath: \c"
read dirB
# 到文件夹A中把所有的文件复制到B去(等会儿再重命名)
if [ ! -d "$dirA" ]
then
echo "ERROR: cannot change dir to \"$dirA\""
exit 1
fi
cd $dirA
# 如果dirB不存在的话,自己建一个
mkdir -p $dirB
# 查查看dirB有没有在?
if [ ! -d "$dirB" ]
then
echo "ERROR: \"$dirB\" is not a directory! Abort!"
exit 2
fi
# 复制
cd $dirA
find . -type f -print | cpio -pmdvu $dirB
# 重新命名
cd $dirB
let n=1
for eachFile in *
do
mv $eachFile $n
let n=n+1
done
# note: 这个简单的脚本,在替文件重新命名时没有考虑到subdir下面的文件
# 如果需要的话,也许可以用:
# for eachFile in $(find . -type f -print)
# do
# mv $eachFile $n
# let n=n+1
# done
你看看这样可以不,谢谢!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询