我有大量xxx.cmd
文件位于多个文件夹中(例如,、、child1
等child2
)child3
,它们有一个父文件夹parent
是否有我可以在parent
删除所有.cmd
子文件夹中的所有文件的文件夹上执行的 cleartool 命令?
我有大量xxx.cmd
文件位于多个文件夹中(例如,、、child1
等child2
)child3
,它们有一个父文件夹parent
是否有我可以在parent
删除所有.cmd
子文件夹中的所有文件的文件夹上执行的 cleartool 命令?
不容易,因为在执行cleartool rmname
.
最简单的方法是:
clearfsimport
使用选项-rmname ("mirror clearfsimport")将这些文件返回到您的视图中(减去已删除的 *.cmd 文件):
--rmname
对于所有作为目录的源名称参数,对已经在 VOB 中但不存在于源目录中的
rmname
元素执行操作。 如果与 结合使用,则在遍历的所有目录中执行此操作。 如果与 结合使用,则在查找 VOB 中的匹配名称之前执行该操作。-recurse
rmname
-downcase
downcase
clearfsimport
我今天也有同样的需求,因为需要制作本地副本,所以对使用的提议不太满意。这是我在 bash 环境中所做的(我在 windows 下的 msys):
find
:find parent -name "*.cmd" | tee to_remove_list.txt
sort to_remove_list.txt | xargs -i dirname {} | uniq | tee to_checkout.txt
cat to_checkout.txt | xargs -i cleartool co -nc {}
cat to_remove_list.txt | xargs -i cleartool rm {}
cat to_checkout.txt | xargs -i cleartool ci -nc {}
rm to_remove_list.txt to_checkout.txt