Skip to content

Instantly share code, notes, and snippets.

@gatosyocora
Last active July 1, 2020 08:20
Show Gist options
  • Save gatosyocora/53e192a37b70aaf8a558981ab6eeaf1b to your computer and use it in GitHub Desktop.
Save gatosyocora/53e192a37b70aaf8a558981ab6eeaf1b to your computer and use it in GitHub Desktop.
unitypackageを展開するbatファイル (cmdで引数にunitypackageを指定して使う)
@echo off
rem current character code
for /f "usebackq tokens=2 DELIMS=:" %%a in (`chcp`) do @set CHARCODE=%%a
chcp 65001 > nul 2>&1
rem unzip folder
set FOLDERNAME=unitypackage
if exist %FOLDERNAME% (goto FILE_TRUE) else goto FILE_FALSE
:FILE_TRUE
rmdir /s /q %FOLDERNAME%
:FILE_FALSE
mkdir %FOLDERNAME%
cd %FOLDERNAME%
rem unzip
tar -zxf ../%1
setlocal enabledelayedexpansion
set FILE_PATH=
for /d %%f in (*) do (
cd %%f
set /p FILE_PATH=<pathname
echo !FILE_PATH!
call :CHECK_FOLDER_EXIST "../!FILE_PATH!" > nul 2>&1
rem move & rename asset & meta files
call :MOVE_META_TO_FOLDER "../!FILE_PATH!" ./asset.meta
del pathname
move ./asset "../!FILE_PATH!" > nul 2>&1
cd ..
rmdir /s /q %%f
)
endlocal
cd ..
rem remove character code
chcp %CHARCODE% > nul 2>&1
echo completed to unzip unitypackage
goto :END
rem Is folder exist ?
:CHECK_FOLDER_EXIST
if not exist "%~dp1" (
mkdir "%~dp1"
)
goto :EOF
rem move to folder
:MOVE_META_TO_FOLDER
move %2 "%~1.meta" > nul 2>&1
goto :EOF
:END

使い方

  1. batファイルと同じフォルダ内に展開したいunitypackageを置く
  2. cmdを開く
  3. batファイルおよびunitypackageがあるフォルダへ「cdコマンド」で移動する
  4. 「Unzip_unitypackage "unitypackage名"」を実行する
  5. unitypackageフォルダが作成され, その中に展開される

不具合

  • フォルダのmetaファイルが一部作成されないことがある(tar時にそもそもasset用フォルダが足りていない模様)

注意

解凍前にbatファイルと同フォルダに「unitypackageフォルダ」がある場合, 削除するので注意

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment