用于删除所有ClearCase视图专用文件的命令行

mby*_*215 15 bash cygwin clearcase

我正在寻找一个命令行来从Windows上的ClearCase视图中删除所有视图专用文件和目录.我也有Cygwin.

本文提供的脚本并不是我想要的,因为我正在处理大量文件,并希望将它们全部删除而无需选择每个文件.

Von*_*onC 22

几点评论:

  • ct lsprivate 非常适合动态视图,而不是快照视图
  • ct ls -rec -view_only以及ct lsprivate列出您签出的文件......我不确定您是否要删除这些...

对于列出私有文件(只有私有文件,而不是您可能想要保留的私有文件),您需要有一个命令:

  • 考虑到名称中的空格
  • 不会列出结帐或被劫持或重叠的文件或符号链接
  • 适用于快照和动态视图
  • (奖金)不依赖于外部shell命令

    for /F "usebackq delims=" %i in (`cleartool ls -r ^| find /V "Rule:" ^| find /V "hijacked" ^| find /V "eclipsed" ^| find /V "-->"`) do @echo "%i"

它以纯Windows方式列出所有私有文件(跳过被劫持/重叠/签出或非私有文件以及符号链接)(不需要外部shell依赖).
替换@echo "%i"del /F "%i",他们走了.
请注意%i周围的双引号,以便正确显示/删除名称中包含空格的文件.还要注意缺少cleartool参数-nxn,因为符号链接无法区分,并且视图私有文件无论如何都没有被装饰.

为了摆脱私人目录,首先运行命令,rmdir /S /Q "%i"然后使用del /F "%i".


小智 6

在Windows DOS下提示:

for /f "delims=" %f in ('cleartool lspriv -s -do -oth ^| sort /r') do @del /f /q "%f"
Run Code Online (Sandbox Code Playgroud)


Mr.*_*rat 5

我知道可能有更好的方法,但我似乎总是回到这个方面:

ct lspriv | grep -v checkedout | xargs rm -rf
Run Code Online (Sandbox Code Playgroud)


Pau*_*lin 3

我一直用:

ct lsprivate  | xargs rm
Run Code Online (Sandbox Code Playgroud)