Skip to content

Instantly share code, notes, and snippets.

@faizul726
Last active January 7, 2025 11:24
Show Gist options
  • Save faizul726/2bc04561fe9a9e2fe7d41faafebae67f to your computer and use it in GitHub Desktop.
Save faizul726/2bc04561fe9a9e2fe7d41faafebae67f to your computer and use it in GitHub Desktop.
subpacks_matject.txt tester // Right click Raw -> "Save link as" to get the file.
@echo off
setlocal enabledelayedexpansion
cls
if "%~n0" equ "1-matject-subpacks" (
set "export=true"
echo @echo off>sample.bat
echo.>sample_data.bat
) else (set "export=")
set "parse=Name"
for /F "usebackq tokens=*" %%A in ("subpacks_matject.txt") do (
set /a line+=1
set "memoire=%%A"
if defined memoire (
if "[!memoire:~0,1!]" neq "[-]" (
call :!parse! && echo !output! || goto failed
) else (echo.)
) else (goto failed)
)
echo.
echo All fine^^!
if defined export (
echo.>>sample.bat
echo set "input=">>sample.bat
echo set /p "input=Enter a number: ">>sample.bat
echo if defined input ^(call sample_data.bat %%input%%^) else ^(exit^)>>sample.bat
echo.>>sample.bat
echo echo You have selected %%selected_subpack%%>>sample.bat
echo pause>>sample.bat
echo Make sure to check sample.bat
)
echo.
pause
endlocal
goto :EOF
:Name
if "!memoire:~0,6!" equ "name: " (
set /a subpack_count+=1
set "output=[!memoire:~6!]"
set "parse=Desc"
if defined export (echo echo [!subpack_count!] !memoire:~6!>>sample.bat)
exit /b 0
) else (exit /b 1)
goto :EOF
:Desc
if "!memoire:~0,6!" equ "desc: " (
set "output=[!memoire:~6!]"
set "parse=Folder"
if defined export (
echo echo !memoire:~6!>>sample.bat
echo echo.>>sample.bat
)
exit /b 0
) else (exit /b 1)
goto :EOF
:Folder
if "!memoire:~0,8!" equ "folder: " (
set "output=[!memoire:~8!]"
set "parse=Name"
if defined export (echo if %%1 equ !subpack_count! set "selected_subpack=!memoire:~8!">>sample_data.bat)
exit /b 0
) else (exit /b 1)
goto :EOF
:failed
echo.
echo Something is wrong at Line !line!...
echo Line !line!: !memoire!
echo.
endlocal
pause
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment