Files
LuaCsForBarotraumaEP/changelogs/combine_changelogs.bat
2025-06-17 16:38:11 +03:00

57 lines
1.8 KiB
Batchfile

@echo off
setlocal EnableDelayedExpansion
rem This file combines all the other .txt files in this directory into changelog.txt,
rem or another file name given as optional argument.
rem Determine script's absolute directory and use that for paths
set "SCRIPT_DIR=%~dp0"
set "SCRIPT_DIR=%SCRIPT_DIR:~0,-1%"
set "DEFAULT_TARGET_FILE=changelog.txt"
rem A different target file can be provided as argument
if "%~1"=="" (
set "TARGET_FILE=%SCRIPT_DIR%\%DEFAULT_TARGET_FILE%"
) else (
set "TARGET_FILE=%SCRIPT_DIR%\%~1"
)
if not exist "%TARGET_FILE%" (
echo %TARGET_FILE% doesn't exist yet, creating it
type nul > "%TARGET_FILE%"
)
echo.
echo Appending *.txt into %TARGET_FILE%:
for %%F in ("%SCRIPT_DIR%\*.txt") do (
if exist "%%F" (
rem Skip target file(s) that we're appending into
set "BASENAME=%%~nxF"
if /i "!BASENAME!"=="%DEFAULT_TARGET_FILE%" (
echo - Skipping target file: %%~nxF
) else (
for %%T in ("%TARGET_FILE%") do (
if /i "!BASENAME!"=="%%~nxT" (
echo - Skipping target file: %%~nxF
) else (
echo + %%~nxF
rem Strip path and extension from the file name and append as heading
echo %%~nF>> "%TARGET_FILE%"
rem Append file content
type "%%F" >> "%TARGET_FILE%"
rem Add a newline after each file's content
echo.>> "%TARGET_FILE%"
)
)
)
) else (
echo ERROR: %%F is missing or not a proper file, skipping!
)
)
echo.
rem Finished file name in upper case and without path as heading
for %%T in ("%TARGET_FILE%") do echo === %%~nxT:
echo.
rem Print the finished file itself
type "%TARGET_FILE%"