A Powershellben az összes fájl listázása egy könyvtárban nagyon egyszerű feladat. Csak a következő parancsot kell használnunk, hogy csak az összes fájlt listázzuk csak egy könyvtárban.
- Tartalomjegyzék:
- Az alábbiakat is keresik:
- PowerShell List Files in a Directory:
- gci Alias for Get-ChildItem:
- dir alias for Get-ChildItem:
- PowerShell csak könyvtárak listázása:
- PowerShell list only directories rövidebb script:
- PowerShell csak az összes mappában vagy könyvtárban lévő fájlok listázása:
- PowerShell csak az összes mappában vagy könyvtárban lévő mappákat listázza ki:
- PowerShell listázza a kiterjesztésű fájlokat:
- PowerShell listázza rekurzívan egy kiterjesztés fájljait:
- A PowerShell egy kiterjesztés fájljait rekurzívan, mélységgel listázza:
- Verdict:
Tartalomjegyzék:
- PowerShell List files in a Directory.
- gci alias for get-chiltitem.
- dir alias for get-childitem.
- PowerShell csak könyvtárak listázása.
- PowerShell csak könyvtárak listázása egy rövidebb szkript segítségével.
- PowerShell fájlok rekurzív listázása.
- PowerShell könyvtárak rekurzív listázása.
- Egy bizonyos kiterjesztéstípusú fájlok listázása.
- PowerShell rekurzívan listázza egy bizonyos kiterjesztés-típusú fájlokat.
- Fájlok listázása az alkönyvtárak mélységéig.
- Verdict.
Az alábbiakat is keresik:
Working Snippet for Start-Job PowerShell 2020
gci -file
A fenti szkript végrehajtása és a kimenet az alábbi képen látható.
Ezeknek számos változata létezik, és ebben a bejegyzésben jó néhányat meglátogatunk. Megnézzük, hogyan keletkezik a gci alias, és megnézünk néhány más aliast is. Van mód arra, hogy csak a könyvtárakon belüli könyvtárakat kapjuk meg, és arra is, hogy bizonyos mélységig.
Minden lehetséges funkciót meglátogatunk a könyvtárban lévő fájlok listázásával kapcsolatban.
PowerShell List Files in a Directory:
A PowerShell fejlesztői indokolatlanul egyszerűvé tették a fájlok és mappák kezelését a PowerShellben. A hagyományos szkripteléssel ellentétben a PowerShellben nem kell túl sokat gondolkodnunk a szkript felépítésén. Ez azért van, mert a PowerShell objektumalapú be- és kimenet. Ha valaki jól ért egy objektumorientált programozási nyelvhez, annak a PowerShellben a szkriptírás magától értetődően megy.
Kezdésként, ha csak a könyvtárban lévő fájlokat szeretnénk megszerezni, használhatjuk a get-childitem cmdletet. A cmdlethez hozzáadjuk a -file kapcsolót, hogy csak egy adott könyvtárban lévő fájlokat hívjuk le.
get-childitem -file
Ezzel egyértelműen megoldódik a problémánk. De tudjuk-e hatékonyabbá tenni a szkriptet? Valójában igen.
gci Alias for Get-ChildItem:
A get-childitem cmdletnek van egy gci nevű aliasa. Ez csökkenti a teljes szkript megírásának erőfeszítéseit. Az alábbi szkript kiadja a nekünk szükséges kimenetet.
gci -file
dir alias for Get-ChildItem:
A get-childitemnek is van egy meglehetősen népszerű aliasa. A dir-rel helyettesítve ugyanezt az eredményt kaphatjuk.
dir -file
A fenti szkript a következő kimenetet fogja produkálni.
PowerShell csak könyvtárak listázása:
Megtanultuk, hogyan lehet csak egy adott könyvtárban lévő fájlokat listázni. Most megnézzük, hogyan lehet egy könyvtárból csak a könyvtárakat listázni. Ezt a -file kapcsoló helyett a -directory kapcsoló segítségével tehetjük meg.
gci -directory
PowerShell list only directories rövidebb script:
A scriptet a -di kapcsoló segítségével tudjuk egyszerűsíteni. Ez rendelkezésre áll, mivel elég a -directory kapcsolót félreérthetetlenül azonosítani. A következő szkript segítségével csak a könyvtárban lévő könyvtárakat listázhatjuk ki:
gci -di
Ez a következő kimenetet adja a felhasználóknak.
PowerShell csak az összes mappában vagy könyvtárban lévő fájlok listázása:
Most, hogy láttuk, hogyan lehet csak a fájlokat vagy csak a mappákat listázni, még mindig nem tanultuk meg, hogyan lehet csak a könyvtárban lévő fájlokat listázni. Éppen ezt tudjuk megtenni a -recurse kapcsoló segítségével. A szkriptet az alábbiakban adjuk meg.
gci -file -recurse
Kétségtelenül ez egy remek szkript ahhoz, hogy csak a könyvtárban vagy a mappában lévő fájlokat kapjuk meg.
PowerShell csak az összes mappában vagy könyvtárban lévő mappákat listázza ki:
A következő szkript segítségével csak a könyvtárban lévő fájlokat és az azt követő gyermekkönyvtárat is ki tudjuk listázni.
gci -di -recurse
PowerShell listázza a kiterjesztésű fájlokat:
A könyvtárban csak bizonyos típusú fájlokat listázhatunk, ha szeretnénk. A következő szkript segítségével csak a PDF fájlokat listázhatjuk egy könyvtárban.
gci -file *.pdf
PowerShell listázza rekurzívan egy kiterjesztés fájljait:
Új szintre emelhetjük a fájlok listázását, ha rekurzívan csak egy kiterjesztés fájljait listázzuk. Az alábbi példa éppen ezt mutatja be.
gci -file -r *.pdf
Megjegyezzük, hogy a -r kapcsolót használjuk a -recurse kapcsoló helyett, mivel ez csökkenti a szükséges gépelés mennyiségét.
A PowerShell egy kiterjesztés fájljait rekurzívan, mélységgel listázza:
A -recurse kapcsolóval egy könyvtár és az azt követő alkönyvtár összes fájlját listázhatjuk. A keresést a fájlkiterjesztés segítségével is szűkíthetjük. De mi van akkor, ha nem akarunk 2 alkönyvtárnál mélyebben lévő mappákban keresni. Használhatjuk a -depth kapcsolót. Az alábbi szkript ezt használja.
gci -file -d 1 -r *.pdf
A fenti szkript a get-childitem fájltípusú, 1 gyermekkönyvtárig lekérdezi, rekurzívan végzi, és végül biztosítja, hogy csak pdf-eket kérjen le.
Verdict:
Ebben a bejegyzésben a PowerShell List all files in a Directory. Ezt a gci nevű get-childitem alias segítségével tettük. A gci a -file kapcsolóval párosítva azt teszi, amire szükségünk van. Egy bizonyos kiterjesztésű fájlokat is lekérdeztünk. Megszereztük egy bizonyos kiterjesztés fájljait rekurzívan és egy korlátozott mélységig.
Ha még több fantasztikus bejegyzést szeretnél, maradj a TecKangaroo-nál.