Sandboxをお掃除するスクリプト

コミュニティでCharlesさんが公開されていたので、ご紹介します。

http://communities.vmware.com/message/2165046

 

Sandboxとは、ThinAppでパッケージしたアプリを実行する際に、テンポラリで読み書きするフォルダです。

デフォルトでは、隠しフォルダとして”C:¥AppData¥Thinstall”というパス以下にアプリ(パッケージプロジェクト)単位に作成されるものです。

パッケージングのやりなおし等を行う時に、この中身に以前の情報が残っているとテストがうまくいかないとかそういうことも起きたりします。

下記ソースをコピーして”sbclean.cmd”とでも名付ければできあがりです。

—————————————————————————————–

rem     sbclean.cmd – ThinApp Sandbox Cleaner – December 2012
@ECHO OFF
SETLOCAL ENABLEEXTENSIONS
SETLOCAL ENABLEDELAYEDEXPANSION
rem     Make the Thinstall folder the working directory for this session
PUSHD %AppData%\Thinstall
:menuLOOP
CLS
rem     Check to see if any folders exist
DIR .\ |FIND “<DIR>” |FIND /n “:” |FIND “[3]” > NUL
IF %ERRORLEVEL% EQU 1 GOTO Empty
ECHO.
ECHO.
ECHO  The following ThinApp sandboxes were found:
ECHO.
ECHO.
rem     Write a list of the folders to a file
DIR .\ /b /AD > sblist.txt
rem     Write a list of the folders to the screen
SET /a count=0
FOR /d %%A in (*) do (
    SET /a count+=1
    @ECHO !count! %%A
)
rem     Choose what to do
SET choice=
ECHO.&SET /p choice=Enter the NUMBER of the ThinApp folder to delete, or press ENTER to quit: ||GOTO:END
SET /a counter=1
rem     Match the number chosen to the item in the list
FOR /f “usebackq delims=” %%B in (sblist.txt) do (
    IF !counter! EQU %choice% RD /q /s “%%B”
    SET /a counter+=1
)
rem     Delete the chosen sandbox folder and return to the beginning
GOTO:menuLOOP
rem     If there are no folders found display the message below
:Empty
ECHO.
ECHO.
ECHO  There were no ThinApp sandboxes found on this computer.
ECHO.
ECHO.
ECHO                   Press any key to exit.
ECHO.
PAUSE > NUL
rem     Clean up before closing the session
:END
DEL /q sblist.txt
POPD

—————————————————————————————–

起動すると、コマンドプロンプトに下記のようなメッセージが表示されます。

削除するパッケージ(プロジェクト名)を入力してエンターキーを押せば、削除してくれます。

便利ですね!

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中