de o to ze se po spusteni bat souboru z flashky
Z te chyby vychazi, ze skript hleda zarizeni pod jinym jmenemn ez ktere ches instalovat (neshoduji se), AI ti to mela napsat nasledovne aby to fungovalo, na par radku, a neni to BAT ale powershell skript :
(pojmenuj ho treba canon_g3470_install.ps1)
pnputil /add-driver ".\drivers\*.inf" /install
$drv = (Get-PrinterDriver | Where-Object Name -like "*G30*").Name
$port = (Get-PrinterPort | Where-Object Name -like "USB*").Name
if (-not $port) {
$port = "IP_192.168.1.51"
Add-PrinterPort -Name $port -PrinterHostAddress "192.168.1.51"
}
Add-Printer -Name "Canon G3470" -DriverName $drv -PortName $port
------------------------------------------------------------------------------------------------------------
Verze .BAT (bash) soubor musi mit koncovku **.bat, treba ho pojmenuj canon_g3470_install.bat
@echo off
echo Instalace Canon G3470...
pnputil /add-driver "%~dp0drivers\*.inf" /install
REM --- ZDE NASTAV PRESNY NAZEV DRIVERU ---
set DRIVER=Canon G3070 series
REM --- USB port ---
set PORT=USB001
REM Jestli chces radeji jit pres WiFi, pouzij:
REM set PORT=IP_192.168.1.51
REM cscript prnport.vbs -a -r %PORT% -h 192.168.1.51 -o raw -n 9100
powershell Add-Printer -Name "Canon G3470" -DriverName "%DRIVER%" -PortName "%PORT%"
echo Hotovo.
pause
(upraveny original scipt)
Write-Host "Instalace Canon PIXMA G3470..." -ForegroundColor Green
$driverPath = "$PSScriptRoot\drivers"
pnputil /add-driver "$driverPath\*G3070SC.INF" /install | Out-Null
Start-Sleep -Seconds 3
$driver = Get-PrinterDriver | Where-Object { $_.Name -like "*G3070*" }
if (!$driver) {
Write-Host "Driver nebyl nalezen!" -ForegroundColor Red
pause
exit
}
# USB port
$port = "USB001"
Add-Printer -Name "Canon PIXMA G3470" -DriverName $driver.Name -PortName $port
Write-Host "Hotovo!" -ForegroundColor Green
pause
Script 2 AI:
Write-Host "Instalace Canon PIXMA G3470..." -ForegroundColor Green
$driverPath = "$PSScriptRoot\drivers"
# 1) Instalace driveru
pnputil /add-driver "$driverPath\*.inf" /install | Out-Null
Start-Sleep -Seconds 2
# 2) Automatické nalezení driveru
$driver = Get-PrinterDriver | Where-Object { $_.Name -like "*G30*" }
if (!$driver) {
Write-Host "Driver nebyl nalezen! Zkontroluj INF soubory." -ForegroundColor Red
pause
exit
}
Write-Host "Nalezen driver: $($driver.Name)" -ForegroundColor Cyan
# 3) Automatická volba portu
# Pokud existuje USB port → použij ho
$usbPort = Get-PrinterPort | Where-Object { $_.Name -like "USB*" }
if ($usbPort) {
$port = $usbPort.Name
Write-Host "Používám USB port: $port" -ForegroundColor Yellow
}
else {
# Pokud není USB → vytvoří IP port
$port = "IP_192.168.1.51"
if (-not (Get-PrinterPort | Where-Object { $_.Name -eq $port })) {
Add-PrinterPort -Name $port -PrinterHostAddress "192.168.1.51"
}
Write-Host "Používám IP port: $port" -ForegroundColor Yellow
}
# 4) Přidání tiskárny
Add-Printer -Name "Canon PIXMA G3470" -DriverName $driver.Name -PortName $port
Write-Host "Hotovo! Tiskárna byla úspěšně nainstalována." -ForegroundColor Green
pause