清除保护-Clearcase protect -chmod +x 递归所有的*.exe文件

4
我正在尝试递归更改目录中的所有 .exe 文件。
在发布之前,我做了更多的挖掘工作,并最终找到了我需要的内容。我会将答案发布出来,以防有人需要这些信息。希望这样做可以。我是新手。
ct find . -all -name *.bat -print -exec "cleartool protect -chmod +x -file ""%CLEARCASE_PN%""" 

把可执行文件放入ClearCase版本控制系统中似乎有点奇怪;它们通常是派生文件,不需要进行版本控制。(当然,用于创建它们的源代码应该进行版本控制,但这是另一回事——而且通常情况下源代码不需要是可执行的)。 - Jonathan Leffler
我在一家医疗设备公司工作。我们几乎保留所有东西。 - emptyshell
1个回答

5

当你考虑到cleartool findman page附加示例时:

  • -all通常用于搜索很长的内容,特别是对于具有悠久历史的大型Vob,因此您需要添加选择条件以减少时间,例如 '-type f' 仅考虑文件。
  • '-print'不是必需的,除非您想要列出所有更改的 .exe 文件,但是打印每个元素的简单事实会显著减慢操作速度。
  • 需要使用额外的引号来选择包含空格的文件名,但是您可以使用转义符号进行更可读的表示:\"
  • 如果没有定义别名,则不存在ct(在Windows中:doskey ct=cleartool $*

因此:

ct find . -all -type f -name "*.bat" -exec "cleartool protect -chmod +x -file \"%CLEARCASE_PN%\""

我确实更喜欢你的解决方案。我试图给它额外的+1,但没有足够的声望来这样做。非常详细的答案,谢谢。 - emptyshell

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接