Initial Release Batch Version

This commit is contained in:
Joey Pillunat-Klebb | OH5 2025-11-03 15:44:27 +01:00
commit c1383fcd0c
26 changed files with 1783 additions and 0 deletions

View file

@ -0,0 +1,148 @@
@echo off
REM Quick test for Windows generation: UAC aware or not ; all OS before NT4 ignored for simplicity
SET NewOSWith_UAC=YES
VER | FINDSTR /IL "5." > NUL
IF %ERRORLEVEL% == 0 SET NewOSWith_UAC=NO
VER | FINDSTR /IL "4." > NUL
IF %ERRORLEVEL% == 0 SET NewOSWith_UAC=NO
REM Test if Admin
CALL NET SESSION >nul 2>&1
IF NOT %ERRORLEVEL% == 0 (
if /i "%NewOSWith_UAC%"=="YES" (
rem Start batch again with UAC
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B
)
rem Program will now start again automatically with admin rights!
rem pause
goto :eof
)
:: IP-Adresse eingeben
set /p PRINTER_IP="Gib die IP-Adresse des Druckers ein: "
:: Druckernamen eingeben
set /p PRINTER_NAME="Gib den Namen des Druckers ein (ohne SW/Farbe): "
:: Standarddrucker-Liste setzen (SW und Farbe)
set PRINTER_LIST="%PRINTER_NAME% (SW)" "%PRINTER_NAME% (Farbe)"
:: Treiberpfad-Abfrage
set /p CUSTOM_PATH="Willst du einen eigenen Treiberpfad eingeben? (J/N): "
IF /I "%CUSTOM_PATH%"=="J" GOTO custom_path
IF /I "%CUSTOM_PATH%"=="N" GOTO default_path
ECHO Ungueltige Eingabe, bitte J oder N eingeben.
GOTO end
:custom_path
set /p DRIVER_PATH="Gib den Pfad zum Treiberordner an: "
set DELETE_DRIVER_PATH=0
GOTO check_path
:default_path
:: Nutzt automatisch den Pfad der Batch-Datei
set BASE_PATH=%~dp0
set DRIVER_PATH=%BASE_PATH%hp-treiber
set DELETE_DRIVER_PATH=1
echo Verwende automatisch den Treiberordner: %DRIVER_PATH%
:: Pruefe, ob der Treiberordner existiert
if not exist "%DRIVER_PATH%" (
echo Treiber nicht gefunden! Lade ihn herunter...
:: Treiber von HP herunterladen
powershell -Command "(New-Object System.Net.WebClient).DownloadFile('https://ftp.hp.com/pub/softlib/software13/printers/UPD/upd-pcl6-x64-7.3.0.25919.zip', '%BASE_PATH%hp-treiber.zip')"
:: Pruefen, ob der Download erfolgreich war
if not exist "%BASE_PATH%hp-treiber.zip" (
echo Fehler: Der Treiber konnte nicht heruntergeladen werden!
pause
exit /b
)
echo Entpacke den Treiber...
powershell -Command "Expand-Archive -Path '%BASE_PATH%hp-treiber.zip' -DestinationPath '%BASE_PATH%hp-treiber' -Force"
:: Pruefen, ob das Entpacken erfolgreich war
if not exist "%BASE_PATH%hp-treiber" (
echo Fehler: Das Entpacken ist fehlgeschlagen!
pause
exit /b
)
echo Entferne die ZIP-Datei...
del "%BASE_PATH%hp-treiber.zip"
echo Treiber wurde erfolgreich heruntergeladen und entpackt.
)
GOTO check_path
:check_path
:: Pruefe, ob der Treiberordner existiert
if not exist "%DRIVER_PATH%" (
echo Fehler: Der Treiberordner "%DRIVER_PATH%" existiert nicht!
pause
exit /b
)
:: Port erstellen
echo Erstelle TCP/IP-Port...
for /f %%P in ('cscript //nologo "%WINDIR%\System32\Printing_Admin_Scripts\de-DE\prnport.vbs" -l ^| findstr /i "%PRINTER_IP%"') do (
set PORT_EXISTS=true
echo Port found
)
if %PORT_EXISTS% equ true (
echo Port nicht gefunden, erstelle Port...
cscript "%WINDIR%\System32\Printing_Admin_Scripts\de-DE\prnport.vbs" -a -r %PRINTER_IP% -h %PRINTER_IP% -o raw
)
:: Druckertreiber installieren (automatische INF-Suche)
echo Installiere Druckertreiber aus: %DRIVER_PATH% ...
pnputil /add-driver "%DRIVER_PATH%\*.inf" /install
:: Drucker installieren (inklusive der zusaetzlichen Drucker)
for %%P in (%PRINTER_LIST%) do (
echo Installiere Drucker: %%P ...
rundll32 printui.dll,PrintUIEntry /if /b %%P /r "%PRINTER_IP%" /m "HP Universal Printing PCL 6"
)
:: Nach Installation den Registry-Wert für SW-Drucker setzen
echo Setze Standarddrucker-Einstellungen nach OH5 Standard...
powershell -ExecutionPolicy Bypass -File "%BASE_PATH%do_default_printersettings.ps1" -PrinterName "%PRINTER_NAME% (SW)"
:: Standarddrucker setzen
set /p SET_DEFAULT="Soll '%PRINTER_NAME% (SW)' als Standard gesetzt werden? (J/N): "
IF /I "%SET_DEFAULT%"=="J" GOTO set_default
GOTO cleanup
:set_default
rundll32 printui.dll,PrintUIEntry /y /n "%PRINTER_NAME% (SW)"
echo "%PRINTER_NAME% (SW)" ist jetzt der Standarddrucker.
:cleanup
:: Treiberordner loeschen, nur wenn der Benutzer "N" gewaehlt hat
if "%DELETE_DRIVER_PATH%"=="1" (
if exist "%DRIVER_PATH%" (
echo Entferne den heruntergeladenen Treiberordner...
rmdir /s /q "%DRIVER_PATH%"
echo Treiberordner erfolgreich geloescht.
)
)
:end
echo Installation abgeschlossen.
pause

View file

@ -0,0 +1,108 @@
@echo off
:: Prüfe, ob Admin-Rechte vorhanden sind
NET SESSION >nul 2>&1
IF %ERRORLEVEL% NEQ 0 (
echo Starte Skript mit Admin-Rechten ...
powershell -Command "Start-Process cmd -ArgumentList '/c \"%~f0\"' -Verb RunAs"
exit
)
:: IP-Adresse eingeben
set /p PRINTER_IP="Gib die IP-Adresse des Druckers ein: "
:: Druckernamen eingeben
set /p PRINTER_NAME="Gib den Namen des Druckers ein (ohne SW/Farbe): "
:: Standarddrucker-Liste setzen (SW und Farbe)
set PRINTER_LIST="%PRINTER_NAME% (SW)" "%PRINTER_NAME% (Farbe)"
:default_path
:: Nutzt automatisch den Pfad der Batch-Datei
set BASE_PATH=%~dp0
set DRIVER_PATH=%BASE_PATH%hp-treiber
set DELETE_DRIVER_PATH=1
echo Verwende automatisch den Treiberordner: %DRIVER_PATH%
:: Pruefe, ob der Treiberordner existiert
if not exist "%DRIVER_PATH%" (
echo Treiber nicht gefunden! Lade ihn herunter...
:: Treiber von HP herunterladen
powershell -Command "(New-Object System.Net.WebClient).DownloadFile('https://www.dropbox.com/scl/fi/6ramq1o0lidso43pumi49/HP-Treiber.zip?rlkey=kizmngce43vrojylkwxe8eoof&st=7bcjoj4j&dl=1', '%BASE_PATH%hp-treiber.zip')"
:: Pruefen, ob der Download erfolgreich war
if not exist "%BASE_PATH%hp-treiber.zip" (
echo Fehler: Der Treiber konnte nicht heruntergeladen werden!
pause
exit /b
)
echo Entpacke den Treiber...
powershell -Command "Expand-Archive -Path '%BASE_PATH%hp-treiber.zip' -DestinationPath '%BASE_PATH%hp-treiber' -Force"
:: Pruefen, ob das Entpacken erfolgreich war
if not exist "%BASE_PATH%hp-treiber" (
echo Fehler: Das Entpacken ist fehlgeschlagen!
pause
exit /b
)
echo Entferne die ZIP-Datei...
del "%BASE_PATH%hp-treiber.zip"
echo Treiber wurde erfolgreich heruntergeladen und entpackt.
)
GOTO check_path
:check_path
:: Pruefe, ob der Treiberordner existiert
if not exist "%DRIVER_PATH%" (
echo Fehler: Der Treiberordner "%DRIVER_PATH%" existiert nicht!
pause
exit /b
)
:: Port erstellen
echo Erstelle TCP/IP-Port...
cscript "%WINDIR%\System32\Printing_Admin_Scripts\de-DE\prnport.vbs" -a -r %PRINTER_IP% -h %PRINTER_IP% -o raw
:: Druckertreiber installieren (automatische INF-Suche)
echo Installiere Druckertreiber aus: %DRIVER_PATH% ...
pnputil /add-driver "%DRIVER_PATH%\hpbuio200le.inf" /install
:: Drucker installieren (inklusive der zusaetzlichen Drucker)
for %%P in (%PRINTER_LIST%) do (
echo Installiere Drucker: %%P ...
rundll32 printui.dll,PrintUIEntry /if /b %%P /r "%PRINTER_IP%" /m "HP Universal Printing PCL 6"
)
:: Nach Installation den Registry-Wert für SW-Drucker setzen
echo Setze Standarddrucker-Einstellungen nach OH5 Standard...
powershell -ExecutionPolicy Bypass -File "%BASE_PATH%do_default_printersettings.ps1" -PrinterName "%PRINTER_NAME%"
:: Standarddrucker setzen
set /p SET_DEFAULT="Soll '%PRINTER_NAME% (SW)' als Standard gesetzt werden? (J/N): "
IF /I "%SET_DEFAULT%"=="J" GOTO set_default
GOTO cleanup
:set_default
rundll32 printui.dll,PrintUIEntry /y /n "%PRINTER_NAME% (SW)"
echo "%PRINTER_NAME% (SW)" ist jetzt der Standarddrucker.
:cleanup
:: Treiberordner loeschen, nur wenn der Benutzer "N" gewaehlt hat
if "%DELETE_DRIVER_PATH%"=="1" (
if exist "%DRIVER_PATH%" (
echo Entferne den heruntergeladenen Treiberordner...
rmdir /s /q "%DRIVER_PATH%"
echo Treiberordner erfolgreich geloescht.
)
)
:end
echo Installation abgeschlossen.
pause

107
Assets/HP/Simple HP SW.bat Normal file
View file

@ -0,0 +1,107 @@
@echo off
:: Prüfe, ob Admin-Rechte vorhanden sind
NET SESSION >nul 2>&1
IF %ERRORLEVEL% NEQ 0 (
echo Starte Skript mit Admin-Rechten ...
powershell -Command "Start-Process cmd -ArgumentList '/c \"%~f0\"' -Verb RunAs"
exit
)
:: IP-Adresse eingeben
set /p PRINTER_IP="Gib die IP-Adresse des Druckers ein: "
:: Druckernamen eingeben
set /p PRINTER_NAME="Gib den Namen des Druckers ein: "
:: Standarddrucker-Liste setzen
set PRINTER_LIST="%PRINTER_NAME%"
:default_path
:: Nutzt automatisch den Pfad der Batch-Datei
set BASE_PATH=%~dp0
set DRIVER_PATH=%BASE_PATH%hp-treiber
set DELETE_DRIVER_PATH=1
echo Verwende automatisch den Treiberordner: %DRIVER_PATH%
:: Pruefe, ob der Treiberordner existiert
if not exist "%DRIVER_PATH%" (
echo Treiber nicht gefunden! Lade ihn herunter...
:: Treiber von HP herunterladen
powershell -Command "(New-Object System.Net.WebClient).DownloadFile('https://www.dropbox.com/scl/fi/6ramq1o0lidso43pumi49/HP-Treiber.zip?rlkey=kizmngce43vrojylkwxe8eoof&st=7bcjoj4j&dl=1', '%BASE_PATH%hp-treiber.zip')"
:: Pruefen, ob der Download erfolgreich war
if not exist "%BASE_PATH%hp-treiber.zip" (
echo Fehler: Der Treiber konnte nicht heruntergeladen werden!
pause
exit /b
)
echo Entpacke den Treiber...
powershell -Command "Expand-Archive -Path '%BASE_PATH%hp-treiber.zip' -DestinationPath '%BASE_PATH%hp-treiber' -Force"
:: Pruefen, ob das Entpacken erfolgreich war
if not exist "%BASE_PATH%hp-treiber" (
echo Fehler: Das Entpacken ist fehlgeschlagen!
pause
exit /b
)
echo Entferne die ZIP-Datei...
del "%BASE_PATH%hp-treiber.zip"
echo Treiber wurde erfolgreich heruntergeladen und entpackt.
)
GOTO check_path
:check_path
:: Pruefe, ob der Treiberordner existiert
if not exist "%DRIVER_PATH%" (
echo Fehler: Der Treiberordner "%DRIVER_PATH%" existiert nicht!
pause
exit /b
)
:: Port erstellen
echo Erstelle TCP/IP-Port...
cscript "%WINDIR%\System32\Printing_Admin_Scripts\de-DE\prnport.vbs" -a -r %PRINTER_IP% -h %PRINTER_IP% -o raw
:: Druckertreiber installieren (automatische INF-Suche)
echo Installiere Druckertreiber aus: %DRIVER_PATH% ...
pnputil /add-driver "%DRIVER_PATH%\hpbuio200le.inf" /install
:: Drucker installieren (inklusive der zusaetzlichen Drucker)
for %%P in (%PRINTER_LIST%) do (
echo Installiere Drucker: %%P ...
rundll32 printui.dll,PrintUIEntry /if /b %%P /r "%PRINTER_IP%" /m "HP Universal Printing PCL 6"
)
:: Nach Installation den Registry-Wert für SW-Drucker setzen
echo Setze Standarddrucker-Einstellungen nach OH5 Standard...
powershell -ExecutionPolicy Bypass -File "%BASE_PATH%do_default_printersettings_mono.ps1" -PrinterName "%PRINTER_NAME%"
:: Standarddrucker setzen
set /p SET_DEFAULT="Soll '%PRINTER_NAME%' als Standard gesetzt werden? (J/N): "
IF /I "%SET_DEFAULT%"=="J" GOTO set_default
GOTO cleanup
:set_default
rundll32 printui.dll,PrintUIEntry /y /n "%PRINTER_NAME%"
echo "%PRINTER_NAME%" ist jetzt der Standarddrucker.
:cleanup
:: Treiberordner loeschen, nur wenn der Benutzer "N" gewaehlt hat
if "%DELETE_DRIVER_PATH%"=="1" (
if exist "%DRIVER_PATH%" (
echo Entferne den heruntergeladenen Treiberordner...
rmdir /s /q "%DRIVER_PATH%"
echo Treiberordner erfolgreich geloescht.
)
)
:end
echo Installation abgeschlossen.
pause

View file

@ -0,0 +1,27 @@
param (
[string]$PrinterName
)
try {
# Druckername fuer Schwarz-Weiß und Farbe generieren
$PrinterNameSW = "$PrinterName (SW)"
$PrinterNameColor = "$PrinterName (Farbe)"
Write-Host "Setze Standard-Druckeinstellungen fuer: $PrinterNameSW ..."
# Setze den Druckmodus fuer Schwarz-Weiß auf Monochrome
Set-PrintConfiguration -PrinterName $PrinterNameSW -Color $false
# Duplex fuer Schwarz-Weiß deaktivieren
Set-PrintConfiguration -PrinterName $PrinterNameSW -DuplexingMode OneSided
Write-Host "Setze Standard-Druckeinstellungen fuer: $PrinterNameColor ..."
# Duplex fuer Farbe deaktivieren
Set-PrintConfiguration -PrinterName $PrinterNameColor -DuplexingMode OneSided
Write-Host "Fertig! Alle Einstellungen wurden erfolgreich gesetzt."
}
catch {
Write-Host "Fehler: Konnte die Druckereinstellung nicht ändern. ueberpruefe, ob die Drucker '$PrinterNameSW' und '$PrinterNameColor' existieren!"
}

View file

@ -0,0 +1,18 @@
param (
[string]$PrinterName
)
try {
# Druckername fuer Schwarz-Weiß und Farbe generieren
$PrinterNameSW = "$PrinterName"
Write-Host "Setze Standard-Druckeinstellungen fuer: $PrinterNameSW ..."
# Duplex fuer Schwarz-Weiß deaktivieren
Set-PrintConfiguration -PrinterName $PrinterNameSW -DuplexingMode OneSided
Write-Host "Fertig! Alle Einstellungen wurden erfolgreich gesetzt."
}
catch {
Write-Host "Fehler: Konnte die Druckereinstellung nicht ändern. ueberpruefe, ob die Drucker '$PrinterNameSW' existieren!"
}

View file

@ -0,0 +1,26 @@
param (
[string]$PrinterName
)
# Registry-Pfad zusammenbauen
$regPath = "HKLM:\SYSTEM\CurrentControlSet\Control\Print\Printers\$PrinterName\DsDriver"
# Prüfe, ob der Registry-Pfad existiert
if (Test-Path $regPath) {
#Write-Host "Registry-Pfad gefunden: $regPath"
# Prüfe, ob printCollate existiert
$valueExists = Get-ItemProperty -Path $regPath -Name printCollate -ErrorAction SilentlyContinue
if ($valueExists) {
Write-Host "Loesche alten Wert von Farbruck..."
Remove-ItemProperty -Path $regPath -Name printCollate -ErrorAction SilentlyContinue
}
# Setze printCollate auf 00 (Schwarz-Weiß)
Write-Host "Setze Graustufendruck auf ein..."
New-ItemProperty -Path $regPath -Name printCollate -PropertyType Binary -Value ([byte[]](0x00)) -Force
Write-Host "Fertig!"
} else {
Write-Host "Fehler: Registry-Pfad nicht gefunden! Stelle sicher, dass der Drucker installiert ist."
}

View file

@ -0,0 +1,26 @@
# HP FTP URL
$ftpUrl = "ftp://ftp.hp.com/pub/softlib/software13/printers/UPD/"
# Erstelle die FTP-Anfrage
$ftpRequest = [System.Net.WebRequest]::Create($ftpUrl)
$ftpRequest.Method = [System.Net.WebRequestMethods+Ftp]::ListDirectory
try {
# Antwort holen
$response = $ftpRequest.GetResponse()
$stream = $response.GetResponseStream()
$reader = New-Object System.IO.StreamReader($stream)
Write-Host "🔍 Durchsuche FTP-Ordner: $ftpUrl"
# Dateien auflisten
while ($line = $reader.ReadLine()) {
Write-Host "📄 Gefunden: $line"
}
# Ressourcen freigeben
$reader.Close()
$response.Close()
} catch {
Write-Host "❌ Fehler: Zugriff auf den FTP-Server nicht möglich!"
}