-
Notifications
You must be signed in to change notification settings - Fork 0
/
ZIP2EFU__v0.2.cmd
88 lines (66 loc) · 2.46 KB
/
ZIP2EFU__v0.2.cmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
@echo off
setlocal
::_______________________________________________________________________
::
:: SETTINGS
::_______________________________________________________________________
::
set UNZIP=C:\Users\blusc\scoop\apps\7zip\current\7z.exe
set OUTPUT="%~dpn1%.EFU"
set VERSION=0.2
set AUTHOR=Maarten
::_______________________________________________________________________
::
:: INIT
::_______________________________________________________________________
::
:: Get SFN for %UNZIP% (to prevent a bug in FOR loop)
for %%a in ("%UNZIP%") Do set UNZIP=%%~sa
echo Filename,Size,Date Modified,Date Created,Attributes> %OUTPUT%
::_______________________________________________________________________
::
:: START
::_______________________________________________________________________
::
echo.
echo.____________________[ Version %VERSION% by %AUTHOR% ]_______________________
echo.
for /f "delims=" %%x in (%1) DO call :THISZIP "%%~x"
echo._____________________________________________________________________
echo.
ECHO. OUTPUT can be found in :
ECHO. %OUTPUT%
echo.
pause
goto :EOF
::=======================================================================
::=======================================================================
:: SUBS
::=======================================================================
::=======================================================================
::_______________________________________________________________________
::
:THISZIP
::_______________________________________________________________________
::
echo Parsing ... %1
set FILENAME=%~1
set DOEN=0
for /f "usebackq delims=" %%a in (`%UNZIP% L ""%1""`) DO call :PARSELINE "%%a"
goto :EOF
::_______________________________________________________________________
::
:PARSELINE
::_______________________________________________________________________
::
set ff=%~1
if "%ff:~0,10%" == "----------" (set /a DOEN=!%DOEN% & goto :EOF)
if %DOEN% == 0 goto :EOF
set NAMEPART=%ff:~53%
set DATEPART=%ff:~0,10%
for /f %%X in ("%DATEPART%") DO set DATEPART=%%X
set SIZEPART=%ff:~27,12%
for /f %%X in ("%SIZEPART%") DO set SIZEPART=%%X
rem for /f "tokens=1-4" %%A in ("%ff%") DO (set DATEPART=%%A&set SIZEPART=%%D)
echo."%FILENAME%\%NAMEPART%",%SIZEPART%,%DATEPART%,, >>%OUTPUT%
goto :EOF