我想用cleartool命令描述所有批处理和可执行文件。 我可以为一种类型的文件执行此操作:
cleartool find "Z:\PATH" -name *.bat -exec "cleartool describe %%CLEARCASE_PN%%"
但我无法找到任何方法来处理这两种类型的文件。 我可以复制该行,但由于性能不佳,这不是一个好的解决方案。 我试过使用单引号或双引号,管道或双管,但没有任何作用(-name“* .bat, .exe”, - name( .bat || * .exe),等等。)。有没有解决方案?
由于
答案 0 :(得分:0)
最简单的方法是找到所有文件,并在exec指令中测试扩展名是否符合预期:
cleartool find "Z:\PATH" -type f -exec "myscript %%CLEARCASE_PN%%"
使用您选择的语言编写的myscript
脚本,测试文件扩展名并调用cleartool描述该扩展名是否匹配。
请注意-type f
,以限制仅搜索文件(而不是文件夹)。
例如,in Perl(和calling cleartool
from Perl):
#!/usr/bin/perl
use 5.010;
use strict;
use warnings;
use File::Basename;
$file=$ARGV[0];
my ($dir, $name, $ext) = fileparse($file, @exts);
if ($file ~= /bat|exe) {
system("cleartool describe $file");
}