求助一个目录和文件名的问题
时间:2011-01-23
来源:互联网
我想实现这样一个功能,就是我现在有很多文件夹,里面都有一个相同的文件,
比如aaa/test.c
bbb/test.c
ccc/test.c
我想改名字为
aaa/aaa.c
bbb/bbb.c
cccc/ccc.c
这样要如何写?
新手,郁闷了半天愣是没写出来,我调用了shell语句: %cwd:t 得到当前文件夹名字
比如我用file_name=system“%cwd:t”,这样为什么file_name得不到system“%cwd:t”显示的值呢?要怎么做呢?
比如aaa/test.c
bbb/test.c
ccc/test.c
我想改名字为
aaa/aaa.c
bbb/bbb.c
cccc/ccc.c
这样要如何写?
新手,郁闷了半天愣是没写出来,我调用了shell语句: %cwd:t 得到当前文件夹名字
比如我用file_name=system“%cwd:t”,这样为什么file_name得不到system“%cwd:t”显示的值呢?要怎么做呢?
作者: 骑士番茄 发布时间: 2011-01-23
#!/usr/bin/perl
use strict;
use File::Find;
my $file = "test.c";
my $path = "/home/xxx/";
my @array;
find(\&process, $path);
sub process{ push (@array,$File::Find::dir) if /$file/; }
for (@array){
chdir $_;
$_=~s#.*/(.*?)(?=$)#$1\.cc#;
rename ($file,$_);
}
exit 0;
这个我实现的,可以在简化一下,就算给你一些提示吧。
use strict;
use File::Find;
my $file = "test.c";
my $path = "/home/xxx/";
my @array;
find(\&process, $path);
sub process{ push (@array,$File::Find::dir) if /$file/; }
for (@array){
chdir $_;
$_=~s#.*/(.*?)(?=$)#$1\.cc#;
rename ($file,$_);
}
exit 0;
这个我实现的,可以在简化一下,就算给你一些提示吧。
作者: liyangole 发布时间: 2011-01-24
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28