Amikor a rendszer értesíti, hogy a lemezen nincs szabad hely, az adminisztrátor elsőként megpróbálja megkeresni a legnagyobb helyet foglaló nagy fájlokat. A Windows Intézővel nagy fájlokat (méret szerint több előre definiált keresési sablon is létezhet), kedvenc fájlkezelőjéhez vagy harmadik fél segédprogramjaihoz kereshet. Ezeket az eszközöket azonban, a PowerShell-lel ellentétben, számítógépre kell telepíteni. Nézzünk egy példát a nagy fájlok gyors megkeresésére a lemezen a PowerShell használatával.
Ha egy adott könyvtárban található fájlokat (beleértve az almappákat is) és azok méretét szeretné megtekinteni, akkor használja a parancsmagot Get-ChildItem. A parancsmag fájlokat kereshet az egész lemezen vagy egy adott mappában (például felhasználói profilokban vagy más mappákban)..
Sorolja fel a 10 legnagyobb fájlt a C: \:
Get-ChildItem c: \ -r | rendezés-csökkenő -arányhossz | válasszon - első 10 név, hossz
A lemez méretétől és a rajta lévő fájlok számától függően a parancs időt vehet igénybe.
kulcs -r (Újra) azt jelzi, hogy az összes beágyazott objektumot (könyvtárat) rekurzívan kell áthaladni. A paraméter segítségével korlátozhatja az ellenőrzést egy bizonyos fészkelési szintre -mélység.Ha nem ad meg útvonalat, akkor a keresés az aktuális könyvtár összes alkönyvtárában fog végrehajtani.
Mint láthatja, a tíz legnagyobb fájl listáját kaptuk meg a lemezen, a csökkenő fájlméret szerint rendezve.
tanács. Ha néhány könyvtárat még rendszergazdai jogokkal is elér, a parancsmag hozzáférési hibát eredményezhet:Get-ChildItem: A hozzáférés megtagadva a "C: \ Windows \ CSC" úton.
sor: 1 karakter: 1
+ Get-ChildItem c: \ -r | rendezés-csökkenő -tartomány hossza | válasszon -firs ...
+ ~~~~~~~~~~~~~~~~~~~~
+ Kategóriainformáció: PermissionDenied: (C: \ Windows \ CSC: String) [Get-ChildItem], UnauthorizedAccessException
+ FullyQualifiedErrorId: DirUnauthorizedAccessError, Microsoft.PowerShell.Commands.GetChildItemCommand
Az ilyen hibák megjelenésének megszüntetéséhez használja a paramétert -ErrorAction SilentlyContinue.
Mint láthatja, a fájl mérete bájtban jelenik meg. A kényelem kedvéért konvertálhatók megabájtokra. Ezenkívül megjelenítheti azt a könyvtárat, amelyben a talált fájlt tárolja:
Get-ChildItem c: \ -r -ErrorAction SilentlyContinue | rendezés-csökkenő -tulajdon hossza | válassza az első 10 név, DirectoryName, @ név = "Mb" kifejezést = [matematika] :: kerek ($ _. hossz / 1 MB, 2)
A kapott címkét kényelmes grafikus formákká alakíthatjuk az Out-GridView parancsmag segítségével:
Get-ChildItem c: \ -r | rendezés-csökkenő -tartomány hossza | válassza az első 10 név, DirectoryName, @ név = "Mb"; kifejezés = [matematika] :: kerek ($ _. hossz / 1 MB, 2) | Out-GridView
Hasonlóképpen megtalálja az összes olyan fájlt, amely nagyobb, mint egy bizonyos érték, például 200 MB):
$ méret = 200 * 1024 * 1024
GCi C: \ -folyamat -ErrorAction SilentlyConueue | ahol-objektum $ _. hossz -gt $ méret | Sort-Object hossza | láb teljes neve
A fájlok listája a következőképpen tölthető fel egy CSV-fájlba:
GCi C: \ -kifizetés | ahol-objektum $ _. hossz -gt $ méret | Sort-Object hossza | láb teljes neve | Export-Csv c: \ pc \ LargeFiles_Report.csv
Ha ki kell számítania egy könyvtár összes fájljának méretét, használja a következő cikket: Hogyan határozhatjuk meg a könyvtár méretét a PowerShell használatával?.