2016-07-05 3 views
2

이 포럼에서 검색 한 결과, 배치 파일에서이 두 명령 행을 사용하여 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 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 찾을 수 없습니다 : \ 소스 \ 폴더 \ FileA.log
은 찾을 수 없습니다 C : \ 소스 \ 폴더 \ FileB C를 찾을 수 없습니다
을 .log로 : \ 소스 \ 폴더 \ 하위 폴더 \ FileC.pbl

을 파일보기 - 개인 파일이며, 그들이 제공하는 위치에 존재한다. 그러나 배치 파일은 삭제하기 위해 "볼"수없는 것처럼 보입니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까?

+0

경로가 255 자보다 길면? – VonC

+0

@VonC 아니요, 가장 긴 경로는 144 자입니다. – TDN

+0

내가 생각할 수있는 것은 올바른 문제 (읽기 권한 없음) 또는 해당 파일에 대한 핸들을 유지하는 프로세스입니다 (Windows 전체를 다시 부팅 한 후에 동일한 명령을 시도하십시오). – VonC

답변

1

스위치를 제거하기 위해 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")) 
0

왜 cleartool ls -view_only를 사용하지 않으십니까? 여기서 파싱 재미를 많이 제거합니다.

+0

체크 아웃 된 파일도 반환 할 것이므로 원하는 것은 아닙니다. – TDN

0

'cleartool lsprivate -other'에 원하는 항목이 표시되지 않습니까?

+0

Peter, lsprivate는 동적 뷰에서만 작동합니다. @TDN이 제공 한 경로에서 스냅 샷보기를 추측 할 수 있다고 생각합니다. –

+0

@BrianCowan 네, 맞습니다. 스냅 샷보기에서이 작업을 수행하고 있습니다. 좀 더 구체적으로 내 질문을 편집했습니다. – TDN

관련 문제