2011-12-01 39 views
4

我想遞歸地更改目錄中的所有.exe文件。Clearcase保護-chmod + x遞歸地全部* .exe

在發佈之前,我做了更多的挖掘工作,最終找到了我需要的東西。只有在任何人都可以使用這些信息的情況下,我纔會回覆。希望沒關係,我是新來的。

ct find . -all -name *.bat -print -exec "cleartool protect -chmod +x -file ""%CLEARCASE_PN%""" 
+0

這似乎有點奇怪是保持可執行文件中的ClearCase檢查;它們通常是派生文件,不需要版本控制。 (當然,用於創建它們的源代碼應該受版本控制,但這是另一回事 - 一般而言,源代碼無需可執行)。 –

+0

我在一家醫療設備公司工作。我們保持一切。 – emptyshell

回答

5

當你考慮man page of cleartool findadditional examples of cleartool find

  • -all通常相當長時間的尋找,特別是大型VOB具有悠久的歷史,所以你要添加的選擇標準,以減少時間,像'-type f'只考慮文件。
  • '-print'是沒有必要的,除非您希望所有.exe的列表已更改,但打印每個元素的簡單事實可能會顯着降低操作速度。
  • 額外的報價,需要選擇那些包含空格的文件名,但你可以使用轉義符號,更具可讀性:\"
  • CT不存在的,除非你定義cleartool別名(在Windows中:doskey ct=cleartool $*

所以:

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

我更喜歡你的解決方案。我試圖給它一個額外的+1,但沒有代表這樣做。非常詳細的答案,謝謝。 – emptyshell