Windows - Fájlkeresés parancssorból .NET kiszolgálókon

Fájlkereséshez rengeteg eszköz létezik, bármelyik Windows operációs rendszer alatt több is rendelkezésre áll. A .NET szervercsalád megőrizte a meglévőket és kiegészítődött a sor egy újjal, mely parancssorban, batch fájlokban érhető el, de meghívható szkriptekből, programokból is. Használata egyszerű, az alábbiakban néhány példán keresztül mutatjuk be.
Cikkünk írásának idején a .NET kiszolgálók fejlesztése RC2 fázisban volt, ezért a végleges verzióban lehetnek eltérések a leírtakhoz képest.
Az új segédprogram neve: WHERE.EXE, helyileg a %systemroot%\system32 mappában található meg.
Indítsunk el egy parancssori ablakot és az alkalmazható kapcsolók listájának megjelenítéséhez írjuk be:
where /?
A kereséshez tudni kell, hogy alapértelmezésben a helyi könyvtárban és a PATH környezeti változóban megadott elérési útvonalakon hajtódik végre. Ezzel máris egy újszerű megoldást szolgáltat, ugyanis a keresők többsége a PATH-ot nem szokta figyelembe venni.
A keresendő fájlnév meghatározásánál használhatunk helyettesítő karaktereket (?, *), például:
where win*
vagy
where win.in?
A keresendő kifejezést tehetjük zárójelbe is (nincs lényegi különbség):
where "win.in?"
A /r kapcsoló után megadhatunk egy elérési utat, ekkor a keresés itt és az innen induló összes alkönyvtárban történik és a PATH változó figyelmen kívül marad.
where /r f:\install "program*"
Ha megadjuk a /f kapcsolót is, akkor az eredmény soronként zárójelbe kerül, külső programból történő feldolgozás céljából.
where /r f:\install "win*" /f
Alapértelmezésben csak a fájlnév és az elérési út jelenik meg a képernyőn, ha a /t kapcsolót is használjuk, akkor láthatjuk az állományok hosszát, dátumát és idejét.
where /r f:\install "win*" /f /t
Ismét egy olyan kapcsoló következik, amely a programokból való felhasználáshoz nyújt segítséget. Ha használjuk a /q kapcsolót, akkor nem a keresési eredmény jelenik meg, hanem 0 visszatérési kód, ha sikeres volt a keresés és 1, ha sikertelen:
where /r f:\install "win*" /q
A lehetőségek ezzel még nem értek véget, a parancsot használhatjuk másik gépen lévő fájlok keresésére is:
where /r \\computer\c c:\install "win*"
Ahol a "computer" a távoli gép neve, a \c az ott megosztott c:\ meghajtó (alapértelmezett megosztás). Feltétel, hogy az aktuálisan bejelentkezett felhasználó rendelkezzen elégséges jogosultsággal a másik gépen is a keresés végrehajtásához.