2014-07-04 59 views
1

我想用cleartool命令描述所有批處理和可執行文件。 我可以爲一個類型的文件,這樣做:cleartool找到多個類型的文件

cleartool find "Z:\PATH" -name *.bat -exec "cleartool describe %%CLEARCASE_PN%%" 

但我找不到任何方法來做到這兩種類型的文件。 我可以複製該行,但由於性能差,這不是一個好的解決方案。 我試過用單引號或雙引號,用管道或雙管道,但沒有任何作品(-name「* .bat,.exe」,-name( .bat || * .exe)等)。有沒有解決方法?

感謝

回答

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"); 
} 
+0

這不是那麼容易,但它的工程!感謝您的解決方案 – LeMollosseBulldog