我正在寻找一个命令行来从Windows上的ClearCase视图中删除所有视图专用文件和目录.我也有Cygwin.
本文提供的脚本并不是我想要的,因为我正在处理大量文件,并希望将它们全部删除而无需选择每个文件.
几点评论:
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"
.
在Windows DOS下提示:
for /f "delims=" %f in ('cleartool lspriv -s -do -oth ^| sort /r') do @del /f /q "%f"
我知道可能有更好的方法,但我似乎总是回到这个方面:
ct lspriv | grep -v checkedout | xargs rm -rf