我正在寻找一个命令行来从 Windows 上的 ClearCase View 中删除所有 View 私有(private)文件和目录。我也有 Cygwin。
脚本位于 this article这不是我想要的,因为我正在处理大量文件并且想删除它们而不必选择每个文件。
最佳答案
几点说明:
ct lsprivate
非常适合动态 View ,而不是快照 Viewct ls -rec -view_only
以及ct lsprivate
还列出了您 checkout 的文件...我不确定您要删除那些...
要列出私有(private)文件(只有私有(private)文件,而不是您可能想要保留的劫持文件),您需要一个命令:
- 考虑名字中的空格
- 不列出 checkout 或被劫持或隐藏的文件或符号链接(symbolic link)
- 适用于快照和动态 View
(奖励)不依赖于外部 shell 命令
for/F "usebackq delims="%i in (`cleartool ls -r ^| find/V "Rule:"^| find/V "hijacked"^| find/V "eclipsed"^|找到/V "-->"`) 做 @echo "%i"
它以纯 Windows 方式(不需要外部 shell 依赖)列出您所有的私有(private)文件(跳过被劫持/被删除/ checkout 或非私有(private)文件以及符号链接(symbolic link))。
将 @echo "%i"
替换为 del/F "%i"
,它们就消失了。
请注意 %i 周围的双引号,以便正确显示/删除名称中包含空格的文件。
另请注意缺少 cleartool 参数 -nxn,否则符号链接(symbolic link)将无法区分,并且 View 私有(private)文件不会被修饰。
为了同时删除私有(private)目录,首先使用 rmdir/S/Q "%i"
运行命令,然后使用 del/F "%i"
.
关于bash - 用于删除所有 ClearCase View 私有(private)文件的命令行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/369697/