用c的脚本pike写的,当然用别的也可以实现
int main()
{
string cmd2="cd /home/xxx/u;ls -l |grep ^d > /home/xxx/findsavedir.txt";
Process.system(cmd2);
write("列出存档文件夹完毕!\n");
string strlist = Stdio.read_file("/home/xxx/findsavedir.txt");
array(string) split_str=strlist/"\n";
foreach(split_str,string str)
{
if(str=="null"||str=="\r"||str=="\n"||str=="\r\n")
continue;
string s;
if( sizeof(str)==59 )//该目录长度,根据情况自定,我要查找的子目录都是2位的,所以这样写
{
s=str[57..sizeof(str)];
if(s[0]>='0'&&s[0]<='9'&&s[1]>='0'&&s[1]<='9')//非字符或者数字做文件目录的都剔除
{
string usertmp = "cd /home/xxx/u; cp -fr "+ s +" ../u.right.bak/";
string usertmp_in = "cd /home/xxx/u; cp -fr "+ s +" ../u.right.bak/\n";
Process.system(usertmp);
Stdio.append_file("copydir.txt",usertmp_in);//最好在Process.system先看看copydir.txt文件有没有问题再执行.
}
else
{
}
}
}
}