2025-04-10 07:23:56 +02:00
|
|
|
|
@echo off
|
2025-04-18 22:37:43 +02:00
|
|
|
|
setlocal enabledelayedexpansion
|
2025-04-10 07:23:56 +02:00
|
|
|
|
|
|
|
|
|
::
|
2025-04-18 22:37:43 +02:00
|
|
|
|
:: (C) Adam Skotarczak 2025
|
|
|
|
|
:: Erstellt Ramdisk-Verzeichnisse – Pfad als Parameter übergeben
|
2025-04-19 12:19:36 +02:00
|
|
|
|
:: Mit Warte-Logik und Logging
|
2025-04-10 07:23:56 +02:00
|
|
|
|
::
|
|
|
|
|
|
2025-04-19 12:19:36 +02:00
|
|
|
|
:: --- Konfiguration ---
|
2025-04-18 22:37:43 +02:00
|
|
|
|
set "DIRS_FILE=%~dp0dirlist.txt"
|
2025-04-19 12:19:36 +02:00
|
|
|
|
set "LOGFILE=%~dp0ramdisk_log.txt"
|
|
|
|
|
|
|
|
|
|
:: --- Hilfsfunktion: Zeitstempel ---
|
|
|
|
|
for /f %%T in ('powershell -nologo -command "Get-Date -Format yyyy-MM-dd_HH:mm:ss"') do set "TIMESTAMP=%%T"
|
|
|
|
|
|
|
|
|
|
:: --- Logging-Funktion ---
|
|
|
|
|
set "LOGENTRY=[%TIMESTAMP%]"
|
2025-04-10 07:23:56 +02:00
|
|
|
|
|
2025-04-18 22:37:43 +02:00
|
|
|
|
:: Wenn dirlist.txt nicht existiert, erzeugen
|
|
|
|
|
if not exist "%DIRS_FILE%" (
|
|
|
|
|
>"%DIRS_FILE%" (
|
|
|
|
|
echo :: Verzeichnisse, die in der Ramdisk erstellt werden sollen
|
|
|
|
|
echo Temp
|
|
|
|
|
echo ChromeProfile
|
|
|
|
|
echo ChromeCache
|
|
|
|
|
echo Downloads
|
|
|
|
|
echo Arbeitsverzeichnis
|
|
|
|
|
)
|
2025-04-19 12:19:36 +02:00
|
|
|
|
echo %LOGENTRY% Datei dirlist.txt wurde erzeugt. Inhalt ggf. anpassen und erneut ausfuehren.>>"%LOGFILE%"
|
2025-04-18 22:37:43 +02:00
|
|
|
|
echo Datei dirlist.txt wurde erzeugt. Inhalt ggf. anpassen und erneut ausfuehren.
|
|
|
|
|
goto :eof
|
|
|
|
|
)
|
2025-04-10 07:23:56 +02:00
|
|
|
|
|
2025-04-19 12:19:36 +02:00
|
|
|
|
:: --- Hilfe anzeigen ---
|
2025-04-18 22:37:43 +02:00
|
|
|
|
if "%~1"=="" (
|
|
|
|
|
echo.
|
|
|
|
|
echo Syntax: %~nx0 [Laufwerkspfad]
|
|
|
|
|
echo Beispiel: %~nx0 R:\
|
|
|
|
|
echo Erstellt folgende Verzeichnisse in der Ramdisk:
|
|
|
|
|
for /f "usebackq tokens=*" %%D in ("%DIRS_FILE%") do (
|
|
|
|
|
set "LINE=%%D"
|
|
|
|
|
if not "!LINE!"=="" if "!LINE:~0,2!" NEQ "::" echo - !LINE!
|
|
|
|
|
)
|
|
|
|
|
goto :eof
|
|
|
|
|
)
|
2025-04-10 07:23:56 +02:00
|
|
|
|
|
2025-04-19 12:19:36 +02:00
|
|
|
|
:: --- Zielpfad setzen ---
|
2025-04-18 22:37:43 +02:00
|
|
|
|
set "RAMDISK=%~1"
|
|
|
|
|
if not "%RAMDISK:~-1%"=="\" set "RAMDISK=%RAMDISK%\"
|
|
|
|
|
|
2025-04-19 12:19:36 +02:00
|
|
|
|
:: --- Auf Ramdisk warten (max. 30 Sekunden) ---
|
|
|
|
|
set "WAIT=0"
|
|
|
|
|
:waitloop
|
|
|
|
|
if exist "%RAMDISK%." goto :continue
|
|
|
|
|
timeout /t 1 >nul
|
|
|
|
|
set /a WAIT+=1
|
|
|
|
|
if %WAIT% GEQ 60 (
|
|
|
|
|
echo %LOGENTRY% [FEHLER] Ramdisk %RAMDISK% nicht gefunden – Abbruch.>>"%LOGFILE%"
|
|
|
|
|
echo [FEHLER] Ramdisk %RAMDISK% nicht gefunden – Abbruch.
|
|
|
|
|
goto :eof
|
|
|
|
|
)
|
|
|
|
|
goto waitloop
|
|
|
|
|
:continue
|
|
|
|
|
|
|
|
|
|
echo %LOGENTRY% Ramdisk %RAMDISK% wurde gefunden.>>"%LOGFILE%"
|
|
|
|
|
|
2025-04-18 22:37:43 +02:00
|
|
|
|
:: --- Verzeichnisse erstellen ---
|
|
|
|
|
for /f "usebackq tokens=*" %%D in ("%DIRS_FILE%") do (
|
|
|
|
|
set "LINE=%%D"
|
|
|
|
|
if not "!LINE!"=="" if "!LINE:~0,2!" NEQ "::" (
|
2025-04-19 12:19:36 +02:00
|
|
|
|
set "TARGET=%RAMDISK%!LINE!"
|
|
|
|
|
if not exist "!TARGET!" (
|
|
|
|
|
mkdir "!TARGET!"
|
|
|
|
|
echo %LOGENTRY% Erstellt: !TARGET!>>"%LOGFILE%"
|
|
|
|
|
) else (
|
|
|
|
|
echo %LOGENTRY% Bereits vorhanden: !TARGET!>>"%LOGFILE%"
|
|
|
|
|
)
|
2025-04-18 22:37:43 +02:00
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
echo Verzeichnisse in %RAMDISK% wurden erstellt.
|
2025-04-19 12:19:36 +02:00
|
|
|
|
echo %LOGENTRY% Verzeichniserstellung abgeschlossen.>>"%LOGFILE%"
|
2025-04-18 22:37:43 +02:00
|
|
|
|
endlocal
|