Kezdőlap > General, Windows 7 > Set up printer using script – reloaded 1.

Set up printer using script – reloaded 1.


A múltkori cikkemben írtam a nyomtatók központi kezeléséről, közben a napokban rákérdeztek, hogy mi a helyzet a hálózati nyomtatóportokkal. Nos, a központi kezelésnek van egy másik módszere is, amit a múltkor nem taglaltam: az XP óta (a másik módszer érvényes W2k esetén is) hatalmas előrelépés az operációs rendszerrel telepített Prn kezdetű scriptek jelenléte.

Ezeknek többek között valóban megvan az előnye, hogy könnyebben lehet velük dolgozni, mint a múltkor említett parancsokkal, sőt, hálózati portokat is fel lehet velük venni parancs-sorból.

Mielőtt még felületesen áttekintenénk egy-két dolgot, érdemes tudni, hogy a W7-ben is megvannak ezek a parancsok, bár egy kicsit körülményesebb őket elérni. A gond az, hogy nem a szokásos „%SystemRoot%\System32” könyvtárban vannak, mint XP esetén, hanem ezen belül a Printing_Admin_Scripts könyvtár alatt található nyelvi könyvtárban. Magyarul: egy angol telepítésnél az „en-US”, magyar esetén a „hu-HU” könyvtárról beszélünk (ha feltelepítünk egy nyelvi felületet, természetesen létrejön az adott könyvtár is).

S itt jön képbe a másik cikkemben említett kérdés: milyen könyvtárat is keressen a script? Válaszként egy kódrészlet, mely lekérdezi a megfelelő registry-értéket, majd annak alapján tölt ki egy változót:

for /f “skip=2 tokens=3” %%x in (‘reg query “HKLM\System\CurrentControlSet\Control\Nls\Language” /v InstallLanguage’) do (set LangCode=%%x)

Aki nem ismeri annyira a FOR utasítás formázását, magyarázatul annyit, hogy a zárójelben található parancsot (registry-kiolvasás) végrehajtja, majd a kapott eredményt feldolgozza. A lekérdezés első sora üres, a második a kulcs, míg a harmadik tartalmazza a keresett adatot – ezért ugorjuk át az első két sort a „skip=2” paraméterrel. A harmadik sorban az első adat a registry-érték neve, a második a típusa, míg a harmadik maga az érték, ezért van a „tokens=3”, vagyis csak ezt dolgozzuk fel. Tekintettel arra, hogy a sorban az adatok csak szóközzel vannak elválasztva, nem speciális karakterrel, nem kell használjuk a „delims=” paramétert, ahol esetleg meg tudnánk adni további elválasztót. (Akinek nem elég itt olvashat).

Most, hogy megvan az értékünk, már csak a nyelvet kell értelmezzük, sima IF paranccsal, majd elkészítjük a futtatás helyét tartalmazó változót.

 

If “%LangCode%”==”0409” Set LangPath=en-US

If “%LangCode%”==”040E” Set LangPath=hu-HU

 

Set LangPath=”Printing_Admin_Scripts\%LangPath%”

Természetesen ez csak W7 esetén. Ha általános script-et akarunk készíteni (mert azért illik), akkor megfejeljük a verzió-lekérdezéssel (erről is volt szó az őskorban, itt).

VER | find “XP” > nul

IF not errorlevel 1 GOTO WinXP

 

VER | find “6.1” > nul

IF not errorlevel 1 GOTO Win7

Az első esetben természetesen írhatjuk az 5.x verziót, attól függően, hogy különbséget akarunk-e tenni 32 és 64 bites rendszer között. Ugyanakkor a többi verzió itt.

Ezzel megvagyunk, s ha a WinXP szekcióban a %LangPath% értékét üresnek hagyjuk, akkor a cikk folytatásában használt parancsok útvonala:

Set FullPath=”%SystemRoot%\System32\%LangPath%”

A későbbiekben még lehet értelme a szekciózásnak, főleg, ha arra gondolunk, hogy különböző operációs rendszerek különböző meghajtókat igényelhetnek.

Advertisements
Kategóriák:General, Windows 7
  1. Még nincs hozzászólás.
  1. december 16, 2011 - 2:12 du.

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s

%d blogger ezt kedveli: