diverse Aenderungen, siehe CHANGELOG.md - v.0.1.1
This commit is contained in:
parent
6405c0c046
commit
5badc89727
18
CHANGELOG.md
Normal file
18
CHANGELOG.md
Normal file
@ -0,0 +1,18 @@
|
||||
# CHANGELOG - WINSTARTSTOP
|
||||
|
||||
- **2025/04/19 - v.0.1.1**
|
||||
- **Überarbeitet:**
|
||||
- `startup.bat`
|
||||
- Warteschleife integriert (prüft bis zu 60 Sekunden auf Verfügbarkeit der Ramdisk)
|
||||
- Logging hinzugefügt (`ramdisk_log.txt`) mit Zeitstempeln und Statusmeldungen pro Verzeichnis
|
||||
- Kommentare und Struktur des Batchskripts verbessert
|
||||
- Fehlerbehandlung ergänzt (Abbruch bei nicht erreichbarer Ramdisk)
|
||||
|
||||
- **Dokumentiert:**
|
||||
- `README.md`
|
||||
- sprachlich und strukturell überarbeitet
|
||||
- Installation und Verhalten der Skripte klarer beschrieben
|
||||
- Hinweis auf integrierte Ramdisk-Wartezeit ergänzt
|
||||
|
||||
- **Erstellt:**
|
||||
- MS-DOS-inspiriertes Projektlogo als PNG (schwarz-blau, Cmd-Style, RAM-Icon, Power/Shutdown-Elemente)
|
86
README.md
86
README.md
@ -1,34 +1,84 @@
|
||||
# Sammulung von Start- Shutdown Scripten
|
||||
# Sammlung von Start- und Shutdown-Skripten
|
||||
|
||||
(C) 2025 Adam Skotarczak <adam@skotarczak.net> ([LICENZE](./LIZENSE))
|
||||

|
||||
|
||||
> (C) 2025 Adam Skotarczak <adam@skotarczak.net>
|
||||
> [Lizenz anzeigen](./LIZENSE)
|
||||
|
||||
## Inhalt:
|
||||
|
||||
- [Sammlung von Start- und Shutdown-Skripten](#sammlung-von-start--und-shutdown-skripten)
|
||||
- [Inhalt:](#inhalt)
|
||||
- [Übersicht](#übersicht)
|
||||
- [Skripte](#skripte)
|
||||
- [`startup.bat`](#startupbat)
|
||||
- [Beispiel:](#beispiel)
|
||||
- [Funktionsweise:](#funktionsweise)
|
||||
- [Installation:](#installation)
|
||||
- [`shutdown.bat`](#shutdownbat)
|
||||
- [Installation:](#installation-1)
|
||||
- [Parameter:](#parameter)
|
||||
- [Hinweise](#hinweise)
|
||||
|
||||
## Übersicht
|
||||
|
||||
Dieses Repository enthält Windows-Batchskripte zur Initialisierung und Aufräumroutine bei Systemstart und -shutdown.
|
||||
Ziel ist es, temporäre Ressourcen effizient zu verwalten (z. B. Ramdisk, Temp-Ordner etc.).
|
||||
|
||||
## Skripte
|
||||
|
||||
[PLATZHALTER]
|
||||
### [`startup.bat`](./scripts/startup.bat)
|
||||
|
||||
Erstellt beim Systemstart vordefinierte Verzeichnisse auf einem beliebigen Zielpfad (z. B. Ramdisk).
|
||||
|
||||
#### Beispiel:
|
||||
|
||||
```cmd
|
||||
startup.bat R:\
|
||||
```
|
||||
|
||||
#### Funktionsweise:
|
||||
|
||||
- Beim ersten Start wird automatisch die Datei `dirlist.txt` im selben Verzeichnis erzeugt.
|
||||
- In `dirlist.txt` werden die Verzeichnisse aufgelistet, die erstellt werden sollen.
|
||||
- Die angegebene Ramdisk muss zum Zeitpunkt des Skriptaufrufs vorhanden sein.
|
||||
- Es wird eine Logdatei `ramdisk_log.txt` angelegt, die alle Aktionen protokolliert.
|
||||
|
||||
#### Installation:
|
||||
|
||||
```text
|
||||
gpedit.msc → Computerkonfiguration → Windows-Einstellungen → Skripts (Starten)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### [`shutdown.bat`](./scripts/shutdown.bat)
|
||||
|
||||
Löscht diverse tempoäre Pfade unter windows. Sollte z.B beim Shutdown eingesetzt werden:
|
||||
Bereinigt temporäre Pfade unter Windows. Ideal für den Einsatz beim Herunterfahren des Systems.
|
||||
|
||||
#### Installation
|
||||
#### Installation:
|
||||
|
||||
`gpedit.msc → Computerkonfiguration → Windows-Einstellungen → Skripts (Herunterfahren)`
|
||||
```text
|
||||
gpedit.msc → Computerkonfiguration → Windows-Einstellungen → Skripts (Herunterfahren)
|
||||
```
|
||||
|
||||

|
||||

|
||||
|
||||
#### Parameter
|
||||
#### Parameter:
|
||||
|
||||
| Aufruf | Wirkung |
|
||||
|-----------------------------|------------------------------------------------------|
|
||||
| `shutdown.bat` | Führe Cleanup aus, keine Logs |
|
||||
| `shutdown.bat debug` | Führe Cleanup aus + logge nach shutdownbat.log |
|
||||
| `shutdown.bat test` | Simuliere nur, keine Daten werden gelöscht |
|
||||
| `shutdown.bat test debug` | Simuliere + logge alles |
|
||||
| Aufruf | Wirkung |
|
||||
|---------------------------|--------------------------------------------------|
|
||||
| `shutdown.bat` | Führt Cleanup aus, ohne Logging |
|
||||
| `shutdown.bat debug` | Cleanup + Logausgabe in `shutdownbat.log` |
|
||||
| `shutdown.bat test` | Simulation (kein Löschen) |
|
||||
| `shutdown.bat test debug` | Simulation + Logging |
|
||||
|
||||
### [`startup.bat`](./scripts/startup.bat)
|
||||
---
|
||||
|
||||
Erstellt an einem beliebigen Pfad eine Verzeichnisebene.
|
||||
## Hinweise
|
||||
|
||||
> `./startup.bat R:\`
|
||||
- Die integrierte Warteschleife in `startup.bat` prüft bis zu 30 Sekunden lang, ob das angegebene Laufwerk (z. B. Ramdisk) verfügbar ist.
|
||||
- Für erweiterte Steuerung kann zusätzlich der Windows-Taskplaner verwendet werden (z. B. zum verzögerten Start).
|
||||
- Die Logdateien wachsen mit – regelmäßige Wartung empfohlen.
|
||||
|
||||
Das Skript erstellt beim ersten Aufruf die Datei `dirlist.txt` in gleichen Veerzeichnis in dem sich das Skript befindet. Diese Datei kann bearbeitet und weitere Verzeichnise hinzugefügt werden. Mit erneutem Aufruf werden diese Verzeichnise erstellt.
|
||||
---
|
||||
|
BIN
assets/logo-alpha.png
Normal file
BIN
assets/logo-alpha.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 290 KiB |
BIN
assets/logo-alpha_250x250.png
Normal file
BIN
assets/logo-alpha_250x250.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 26 KiB |
BIN
assets/logo-dark.png
Normal file
BIN
assets/logo-dark.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 381 KiB |
BIN
assets/winstartstop.ico
Normal file
BIN
assets/winstartstop.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 57 KiB |
6
desktop.ini
Normal file
6
desktop.ini
Normal file
@ -0,0 +1,6 @@
|
||||
[.ShellClassInfo]
|
||||
IconResource=.\assets\winstartstop.ico,0
|
||||
[ViewState]
|
||||
Mode=
|
||||
Vid=
|
||||
FolderType=Documents
|
16
scripts/ramdisk_log.txt
Normal file
16
scripts/ramdisk_log.txt
Normal file
@ -0,0 +1,16 @@
|
||||
[2025-04-19_10:56:58] Ramdisk R:\ wurde gefunden.
|
||||
[2025-04-19_10:56:58] Bereits vorhanden: R:\Temp
|
||||
[2025-04-19_10:56:58] Bereits vorhanden: R:\ChromeProfile
|
||||
[2025-04-19_10:56:58] Bereits vorhanden: R:\ChromeCache
|
||||
[2025-04-19_10:56:58] Bereits vorhanden: R:\Downloads
|
||||
[2025-04-19_10:56:58] Bereits vorhanden: R:\Arbeitsverzeichnis
|
||||
[2025-04-19_10:56:58] Bereits vorhanden: R:\BraveCache-Ascot
|
||||
[2025-04-19_10:56:58] Verzeichniserstellung abgeschlossen.
|
||||
[2025-04-19_11:01:31] Ramdisk R:\ wurde gefunden.
|
||||
[2025-04-19_11:01:31] Erstellt: R:\Temp
|
||||
[2025-04-19_11:01:31] Erstellt: R:\ChromeProfile
|
||||
[2025-04-19_11:01:31] Erstellt: R:\ChromeCache
|
||||
[2025-04-19_11:01:31] Erstellt: R:\Downloads
|
||||
[2025-04-19_11:01:31] Erstellt: R:\Arbeitsverzeichnis
|
||||
[2025-04-19_11:01:31] Erstellt: R:\BraveCache-Ascot
|
||||
[2025-04-19_11:01:31] Verzeichniserstellung abgeschlossen.
|
@ -4,11 +4,18 @@ setlocal enabledelayedexpansion
|
||||
::
|
||||
:: (C) Adam Skotarczak 2025
|
||||
:: Erstellt Ramdisk-Verzeichnisse – Pfad als Parameter übergeben
|
||||
:: Mit Warte-Logik und Logging
|
||||
::
|
||||
|
||||
:: --- Konfiguration: Verzeichnisliste ---
|
||||
:: (Kommentare mit :: möglich, Leerzeilen erlaubt)
|
||||
:: --- Konfiguration ---
|
||||
set "DIRS_FILE=%~dp0dirlist.txt"
|
||||
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%]"
|
||||
|
||||
:: Wenn dirlist.txt nicht existiert, erzeugen
|
||||
if not exist "%DIRS_FILE%" (
|
||||
@ -20,11 +27,12 @@ if not exist "%DIRS_FILE%" (
|
||||
echo Downloads
|
||||
echo Arbeitsverzeichnis
|
||||
)
|
||||
echo %LOGENTRY% Datei dirlist.txt wurde erzeugt. Inhalt ggf. anpassen und erneut ausfuehren.>>"%LOGFILE%"
|
||||
echo Datei dirlist.txt wurde erzeugt. Inhalt ggf. anpassen und erneut ausfuehren.
|
||||
goto :eof
|
||||
)
|
||||
|
||||
:: --- Hilfe anzeigen, wenn kein Parameter übergeben wird ---
|
||||
:: --- Hilfe anzeigen ---
|
||||
if "%~1"=="" (
|
||||
echo.
|
||||
echo Syntax: %~nx0 [Laufwerkspfad]
|
||||
@ -37,17 +45,40 @@ if "%~1"=="" (
|
||||
goto :eof
|
||||
)
|
||||
|
||||
:: --- Zielpfad aus Parameter setzen ---
|
||||
:: --- Zielpfad setzen ---
|
||||
set "RAMDISK=%~1"
|
||||
if not "%RAMDISK:~-1%"=="\" set "RAMDISK=%RAMDISK%\"
|
||||
|
||||
:: --- 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%"
|
||||
|
||||
:: --- Verzeichnisse erstellen ---
|
||||
for /f "usebackq tokens=*" %%D in ("%DIRS_FILE%") do (
|
||||
set "LINE=%%D"
|
||||
if not "!LINE!"=="" if "!LINE:~0,2!" NEQ "::" (
|
||||
if not exist "%RAMDISK%!LINE!" mkdir "%RAMDISK%!LINE!"
|
||||
set "TARGET=%RAMDISK%!LINE!"
|
||||
if not exist "!TARGET!" (
|
||||
mkdir "!TARGET!"
|
||||
echo %LOGENTRY% Erstellt: !TARGET!>>"%LOGFILE%"
|
||||
) else (
|
||||
echo %LOGENTRY% Bereits vorhanden: !TARGET!>>"%LOGFILE%"
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
echo Verzeichnisse in %RAMDISK% wurden erstellt.
|
||||
echo %LOGENTRY% Verzeichniserstellung abgeschlossen.>>"%LOGFILE%"
|
||||
endlocal
|
||||
|
Loading…
x
Reference in New Issue
Block a user