Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 用于删除ClearCase视图私有目录和文件的批处理文件_Batch File_Clearcase - Fatal编程技术网

Batch file 用于删除ClearCase视图私有目录和文件的批处理文件

Batch file 用于删除ClearCase视图私有目录和文件的批处理文件,batch-file,clearcase,Batch File,Clearcase,在这个论坛上搜索之后,我终于找到了下面的两个命令行,我在一个批处理文件中运行它们来删除ClearCase视图中的私有目录和文件 REM First delete view-private directories for /F "usebackq delims=" %%i in (`cleartool ls -r ^| find /V "Rule:" ^| find /V "hijacked" ^| find /V "eclipsed" ^| find /V "-->"`) do ( if

在这个论坛上搜索之后,我终于找到了下面的两个命令行,我在一个批处理文件中运行它们来删除ClearCase视图中的私有目录和文件

REM First delete view-private directories
for /F "usebackq delims=" %%i in (`cleartool ls -r ^| find /V "Rule:" ^| find /V "hijacked" ^| find /V "eclipsed" ^| find /V "-->"`) do ( if exist "%%~i\" ( rmdir /S /Q "%%i" ) )

REM And then delete view-private files
for /F "usebackq delims=" %%i in (`cleartool ls -r ^| find /V "Rule:" ^| find /V "hijacked" ^| find /V "eclipsed" ^| find /V "-->"`) do ( if not exist "%%~i\" ( del /S /Q /F /A:H "%%i" ) )
但是,我时常会遇到以下错误:

找不到C:\Source\Folder\FileA.log
找不到C:\Source\Folder\FileB.log
找不到C:\Source\Folder\SubFolder\FileC.pbl


这些文件是视图专用文件,它们确实存在于提供的位置。但批处理文件似乎无法“查看”以删除它们。我做错了什么?

为什么不只使用cleartool ls-view\u?在这里,它消除了很多解析的乐趣

cleartool lsprivate-other没有列出您想要的吗?

我更新了delete命令以删除开关,我的批处理文件最终能够找到视图私有文件并删除它们

REM And then delete view-private files
for /F "usebackq delims=" %%i in (`cleartool ls -r ^| find /V "Rule:" ^| find /V "hijacked" ^| find /V "eclipsed" ^| find /V "-->"`) do ( if not exist "%%~i\" ( del "%%i" ) )

如果路径长度超过255个字符?@VonC No,则最长路径仅为144个字符。我所能想到的只是正确的问题(无读取权限),或者是一个在该文件上保留句柄的进程(在Windows完全重新启动后尝试相同的命令),您可能可以使用MS/System Internals process Monitor工具检测问题。运行一个procmon跟踪,并将过滤器设置为“Path…start with…c:\Source”,然后启动脚本,可能会使您对该问题有一定的了解。如果您实际使用的是动态视图,并且使用的是旧的ClearCase版本,那么您将需要修补,因为procmon可以备份某些旧的7.1.x、8.0.0和(IIRC)8.0.1.0和8.0.1.1版本。因为它也将返回签出文件,这不是我想要的。Peter,lsprivate仅在动态视图中工作。根据@TDN提供的路径,我认为我们可以推断快照视图。@BrianCowan是的,你是对的。我在快照视图中执行此操作。我对我的问题进行了编辑,使之更加具体。