Perl 的 xcopy 有方法 fn_pat 来指定模式匹配的正则表达式,我想用它递归地复制一个目录,忽略所有这些字符串的所有文件/文件夹:
.svn
build
test.blah
我在语法上磕磕绊绊,我查看了许多 perl 正则表达式指南,但对于我的生活,我就是无法掌握它。我很感激任何帮助。
谢谢。
... 更新 ...
我发现了一个似乎可以正常工作的 perl 正则表达式,只是不适用于 xcopy 的 fn_pat。不确定这是否是 xcopy 的错误,或者我的表达式是否不正确,但是我的测试显示它没问题。
$exp = '^(?!.*(\.svn|build|test\.blah)).*$';
if( '/dev/bite/me/.svn' =~ $exp ){ print "A\n"; }
if( '/dev/bite/me/.svn/crumbs' =~ $exp ){ print "B\n"; }
if( '/dev/build/blah.ext' =~ $exp ){ print "C\n"; }
if( '/dev/crap/test.blah/bites' =~ $exp ){ print "D\n"; }
if( '/dev/whats/up.h' =~ $exp ){ print "E\n"; }
只有 E 像我希望的那样打印。我很想知道这是否正确以及为什么它不能与 xcopy 一起使用的任何想法。