Option Explicit 'force all variables to be declared ' ' run unpackmeta.vbs in the same directory next to Assets and metapack with metapack.txt ' ' confirm the metapack directory is emptied after unpack, .lock and .txt is removed. ' all .meta should now be reinstated in the correct directory with correct names. ' ' read more packing instruction in packmeta.vbs. ' ' This script was made by Twily/Analie Oct 2025 ' This script is the unpackmeta.vbs ' Const ForReading = 1 Dim FSO Set FSO = CreateObject("Scripting.FileSystemObject") Dim objTS 'Text Stream Object 'Dim WorkingPath 'Dim CanonicalPath 'Dim RelativePath 'Dim printOnce 'printOnce = 0 'Dim lastIndexOfBackSlash 'Dim ProjectName 'Dim hashName Dim stopExec stopExec = 0 Dim DestinationFile Dim SourceFile Dim strNextLine Dim arrServiceList Dim i Dim lineC lineC = 0 If NOT (FSO.FileExists("metapack.lock")) Then MsgBox("metapack.lock file does Not exists, exiting. if metapack\ and metapack.txt exist then create the metapack.lock") stopExec = 1 End If If NOT (FSO.FolderExists("metapack")) Then MsgBox("directory metapack\ does Not exists, exiting. forgot unzip metapack?") stopExec = 2 End If If NOT (FSO.FileExists("metapack.txt")) Then MsgBox("file metapack.txt does Not exists, exiting. forgot to bring with?") stopExec = 3 End If If stopExec = 0 Then ' after exec read through db file, deletes real metas (keeping metapack only!) Set objTS = FSO.OpenTextFile("metapack.txt", ForReading) Do Until objTS.AtEndOfStream strNextLine = objTS.Readline arrServiceList = Split(strNextLine , ",") 'If lineC = 0 Then ' Wscript.Echo lineC & "] Original pack location: " & arrServiceList(0) 'Else If lineC = 1 Then ' Wscript.Echo lineC & "] Project Name Packed: " & arrServiceList(0) 'Else If lineC >= 2 Then 'Wscript.Echo lineC & "] hashed: " & "metapack\" + arrServiceList(0) & ".meta" SourceFile = "metapack\" + arrServiceList(0) & ".meta" ' hashName For i = 1 to Ubound(arrServiceList) 'Wscript.Echo "real: " & arrServiceList(i) DestinationFile = arrServiceList(i) If FSO.FileExists(DestinationFile) Then 'Check to see if the file is read-only If Not FSO.GetFile(DestinationFile).Attributes And 1 Then 'The file exists and is not read-only. Safe to replace the file. FSO.CopyFile SourceFile, DestinationFile, True Else 'The file exists and is read-only. 'Remove the read-only attribute FSO.GetFile(DestinationFile).Attributes = FSO.GetFile(DestinationFile).Attributes - 1 'Replace the file FSO.CopyFile SourceFile, DestinationFile, True 'Reapply the read-only attribute FSO.GetFile(DestinationFile).Attributes = FSO.GetFile(DestinationFile).Attributes + 1 End If Else 'The file does not exist in the destination folder. Safe to copy file to this folder. FSO.CopyFile SourceFile, DestinationFile, True End If Next End If lineC = lineC + 1 Loop objTS.Close() Set objTS = FSO.OpenTextFile("metapack.txt", ForReading) Do Until objTS.AtEndOfStream strNextLine = objTS.Readline arrServiceList = Split(strNextLine , ",") If lineC >= 2 Then ' delete all hashed names in metapack\ then the directory here If FSO.FileExists("metapack\" + arrServiceList(0) + ".meta") Then FSO.DeleteFile("metapack\" + arrServiceList(0) + ".meta") 'DELETES HASHED End If ' then delete metapack.lock and metapack.txt 'Wscript.Echo lineC & "] hashed: " & "metapack\" + arrServiceList(0) & ".meta" 'For i = 1 to Ubound(arrServiceList) ' Wscript.Echo "real: " & arrServiceList(i) 'Next End If lineC = lineC + 1 Loop objTS.Close() FSO.DeleteFile("metapack.lock") 'cleanup FSO.DeleteFile("metapack.txt") FSO.DeleteFolder("metapack") End If