2016-07-05 15 views
2

このフォーラムで検索した結果、バッチファイルで実行されたこれらの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見つかりませんでした\ソース\フォルダ\ FILEB:\ソース\フォルダ\ FileA.log
はCを見つけることができませんでした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

関連する問題