请教批量复制并重命名文件夹及其中的文件

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
TeliuTe
论坛版主
帖子: 7675
注册时间: 2007-11-25 13:29
系统: 16/18/20/w7
来自: 新疆博乐
联系:

请教批量复制并重命名文件夹及其中的文件

#1

帖子 TeliuTe » 2014-07-03 12:14

现有一个模板文件夹lesson,里面有子文件夹images和一个lesson.html

请教怎样复制出20个lesson文件夹,并且将名称改为lesson1~lesson20,里面的lesson.html也重命名为lesson1~lesson20.html,子文件夹images不变
头像
maplebeats
帖子: 378
注册时间: 2011-02-16 1:17

Re: 请教批量复制并重命名文件夹及其中的文件

#2

帖子 maplebeats » 2014-07-03 13:09

[bash]
for i in `seq 1 20`;do mkdir lesson${i};cp -P lesson/leeson.html lesson${i}/leeson${i}.html;cp -r lesson/images lesson${i}/;done
[/bash]
My blog : OOXX
头像
TeliuTe
论坛版主
帖子: 7675
注册时间: 2007-11-25 13:29
系统: 16/18/20/w7
来自: 新疆博乐
联系:

Re: 请教批量复制并重命名文件夹及其中的文件

#3

帖子 TeliuTe » 2014-07-03 13:15

多谢指点,运行后lesson.html 没复制,提示:

代码: 全选

cp: 无法获取"lesson/leeson.html" 的文件状态(stat): 没有那个文件或目录
头像
TeliuTe
论坛版主
帖子: 7675
注册时间: 2007-11-25 13:29
系统: 16/18/20/w7
来自: 新疆博乐
联系:

Re: 请教批量复制并重命名文件夹及其中的文件

#4

帖子 TeliuTe » 2014-07-03 13:19

又看了看置顶帖,用下面的代码实现了:
[bash]#!/bin/bash
for ((x=1; x <= 20; x++))
do
#复制文件夹到一个临时,用-r参数复制子文件夹和文件
cp -r lesson/ l/
#先重命名里面的文件,加了$符号取出变量的值
cd l/
mv lesson.html lesson$x.html
#后退一级,再重命名文件夹
cd ..
mv l/ lesson$x
done
[/bash]
回复