Windows - A hálózati ügyfelek által megnyitott fájlok listázása, bezárása

Tudni szeretnénk, hogy mely hálózati megosztásunkhoz ki csatlakozott, milyen fájlokat nyitott meg és hogy lehet ezeket bezárni? Windows 2000-ben mindezt néhány parancs segítségével kivitelezhetjük, minden egyéb segédeszköz nélkül. A Windows 95/98 rendszerleállási folyamatát a hálózati ügyfelek által megnyitott fájlok megszakították és megerősítést kértek a leállítás befejezésére. A Windows 2000 nem így működik, ott minden további nélkül végbemegy a leállás annak ellenére, hogy az ügyfelek megnyitott fájlokkal dolgoznak. Ha például egy szerkesztés alatt álló dokumentum is van ezek között és megszűnik a kiszolgálói oldalon a szolgáltatás, az ügyfélgépeket ez rendszerint hosszú percekre teljesen lefogja.
Van egy olyan parancssori program, aminek segítségével ki lehet listázni a megnyitott fájlokat és akár be is lehet zárni őket.
A parancs neve:
NET FILE vagy az ezzel egyenértékű: NET FILES
Így paraméterek nélkül kilistázza a megnyitott fájlokat és azokat a mappákat, amelyekbe a felhasználó belépett. A lista táblázatos formában az alábbi oszlopokkal jelenik meg:

ID: azonosító, minden fájl kap egy azonosítót, ezzel lehet hivatkozni rá.
Elérési út: a fájl vagy mappa fizikai helye a merevlemezen.
Felhasználónév: annak a felhasználónak a neve, aki megnyitotta a fájlt.
Zárolások száma: bizonyos fájlokat úgy is meg lehet nyitni, hogy mások ne férhessenek hozzá írási joggal, ezek a zárolt fájlok. Ilyen egy megnyitott Word dokumentum, amit valaki elkezdett szerkeszteni, ha ilyenkor mások is megnyithatnák szerkesztésre az valamelyik oldalon szükségszerű adatvesztéssel járna.

Egy megnyitott fájl bezárása:

Itt lesz szükségünk a fájlazonosítóra (ID):
NET FILE ID /CLOSE
Ilyenkor az adott fájl megnyitott állapota és zárolása megszűnik. A bezárás feltétel nélküli és azonnali (force closed).

Az összes megnyitott fájl bezárása:

A parancs egyszerre csak egy fájl bezárását támogatja, ezért egy ciklust kell írnunk, ha mindegyiket be akarjuk zárni:
FOR /F "SKIP=4 TOKENS=1" %A IN ('NET FILE') DO NET FILE %A /CLOSE
A ciklus elemei:

/F :minden kiírt sor első szóközig tartó karaktereit adja át.
SKIP=4 : ennyi sort ugrik át feldolgozás nélkül (4 sorból áll a lista fejléce).
TOKENS=1 :megadja, hogy az első elem adódik át a ciklustörzsnek (az első elem az: ID szám).
NET FILE %A /CLOSE : a "NET FILE" parancs fájlbezárásra paraméterezve

A fenti sort parancssorba beírva bezárja az összes megnyitott és zárolt fájlt és mappát. Ha egy batch fájlba helyezzük és készítünk hozzá egy parancsikont, akkor egyetlen kattintással elérhetjük a kívánt eredményt.