about_FileSystem_Provider

Szolgáltató neve

Fájlrendszer

Drives

C:, , D:Temp: ...

Capabilities

Szűrő, ShouldProcess

Rövid leírás

Hozzáférést biztosít a fájlokhoz és könyvtárakhoz.

Részletes leírás

A PowerShell Fájlrendszer szolgáltató lehetővé teszi fájlok és könyvtárak beszerzését, hozzáadását, módosítását, törlését és törlését a PowerShellben.

A Fájlrendszer meghajtók egy hierarchikus névtér, amely a számítógépen található könyvtárakat és fájlokat tartalmazza. A Fájlrendszer meghajtó lehet logikai vagy fizikai meghajtó, könyvtár vagy leképezett hálózati megosztás.

A PowerShell 7.0-s verziójától kezdve a rendszer egy Temp: nevű meghajtót képez le a felhasználó ideiglenes címtár-elérési útjára. A PowerShell a .NET GetTempPath() metódussal határozza meg az ideiglenes mappa helyét. Windows rendszeren a hely ugyanaz, mint $Env:TEMP. Nem Windows rendszerű rendszereken a hely megegyezik $Env:TMPDIR vagy /tmp, ha a környezeti változó nincs definiálva.

A FileSystem szolgáltató az alábbi parancsmagokat támogatja, amelyekről ebben a cikkben talál tájékoztatást.

A szolgáltató által közzétett típusok

A fájlok a System.IO.FileInfo osztály példányai. A címtárak a System.IO.DirectoryInfo osztály példányai.

A Bővített PowerShell-típusrendszer további tulajdonságokat ad ezekhez az objektumtípusokhoz, hogy további információkat nyújtson. Egyes információk platformspecifikusak. A LinkType tulajdonság lehetséges értékei például a használt platformtól és fájlrendszertől függenek. A Linux és macOS fájlrendszerek támogatják a HardLink és a SymLink. A Windows NTFS támogatja HardLink, SymLink, Junctionés számos egyéb értéket LinkType.

Ha Get-Item vagy Get-ChildItem használ egy csatolt elem információihoz, a Mód tulajdonság tartalmaz egy l, amely jelzi, hogy az elem hivatkozás. A LinkType tulajdonság a hivatkozás típusát tartalmazza.

AppExecLink hivatkozások akkor jönnek létre, amikor alkalmazást telepít a Microsoft Store áruházból. A AppExecLink hivatkozások esetében a Windows nem biztosít értékeket a LinkType vagy LinkTarget tulajdonságaihoz.

Get-Item ~\AppData\Local\Microsoft\WindowsApps\winget.exe

    Directory: C:\Users\user1\AppData\Local\Microsoft\WindowsApps

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
la---            6/8/2023 12:20 PM              0 winget.exe ->

A FileSystem szolgáltató úgy teszi elérhetővé az adattárait, hogy a számítógépen található logikai meghajtókat PowerShell-meghajtókként megfelelteti. Ha FileSystem meghajtót szeretne használni, a meghajtó nevével és kettősponttal (:) módosíthatja a helyet egy meghajtóra.

Set-Location C:

A FileSystem szolgáltatóval bármely más PowerShell-meghajtóról is dolgozhat. Ha másik helyről szeretne fájlra vagy könyvtárra hivatkozni, használja az elérési út meghajtónevét (C:, D:, ...).

Jegyzet

A PowerShell aliasokkal teszi lehetővé a szolgáltatói útvonalakkal való munkavégzést. Az olyan parancsok, mint a dir és a ls mostantól Get-ChildItemaliasai, cd a Set-Locationaliasa. és pwd a Get-Locationaliasa.

Fájlok és könyvtárak lekérése

A Get-ChildItem parancsmag az aktuális helyen lévő összes fájlt és könyvtárat visszaadja. A rekurziós mélység szűréséhez és szabályozásához megadhat egy másik elérési utat a kereséshez és a beépített paraméterek használatával.

Get-ChildItem

A parancsmagok használatáról további információt Get-ChildItemcímű témakörben talál.

Fájlok és könyvtárak másolása

A Copy-Item parancsmag fájlokat és könyvtárakat másol egy megadott helyre. A paraméterek a Get-ChildItemhasonló szűréséhez és ismétlődéséhez érhetők el.

Az alábbi parancs az C:\temp\mappába C:\Windows\Temp elérési út alatt lévő összes fájlt és könyvtárat átmásolja.

Copy-Item -Path C:\temp\* -Destination C:\Windows\Temp -Recurse -File

Copy-Item a célkönyvtárban lévő fájlokat anélkül írja felül, hogy megerősítést kér.

Ez a parancs átmásolja a a.txt fájlt a C:\a könyvtárból a C:\a\bb könyvtárba.

Copy-Item -Path C:\a\a.txt -Destination C:\a\bb\a.txt

Másolja az C:\a könyvtárban lévő összes könyvtárat és fájlt a C:\c könyvtárba. Ha a másolandó könyvtárak bármelyike már létezik a célkönyvtárban, a parancs sikertelen lesz, hacsak nem adja meg a Force paramétert.

Copy-Item -Path C:\a\* -Destination C:\c -Recurse

További információ: Copy-Item.

Fájlok és könyvtárak áthelyezése

Ez a parancs a c.txt könyvtárban lévő C:\a fájlt a C:\a\aa könyvtárba helyezi át:

Move-Item -Path C:\a\c.txt -Destination C:\a\aa

Alapértelmezés szerint a parancsmag nem írja felül az azonos nevű meglévő fájlt. Ha a parancsmagot egy meglévő fájl felülírására szeretné kényszeríteni, adja meg a Force paramétert.

Nem helyezhet át könyvtárat, ha ez a könyvtár az aktuális hely. Ha Move-Item használatával helyezi át a könyvtárat az aktuális helyen, ez a hiba jelenik meg.

C:\temp> Move-Item -Path C:\temp\ -Destination C:\Windows\Temp

Move-Item : Cannot move item because the item at 'C:\temp\' is in use.
At line:1 char:1
+ Move-Item C:\temp\ C:\temp2\
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Move-Item], PSInvalidOperationException
    + FullyQualifiedErrorId : InvalidOperation,Microsoft.PowerShell.Commands.MoveItemCommand

Fájltartalom kezelése

Fájl tartalmának lekérése

Ez a parancs lekéri a "Test.txt" fájl tartalmát, és megjeleníti őket a konzolon.

Get-Content -Path Test.txt

A fájl tartalmát egy másik parancsmagba is beszűkítheti. A következő parancs például beolvassa a Test.txt fájl tartalmát, majd bemenetként látja el őket a ConvertTo-Html parancsmaghoz:

Get-Content -Path Test.txt | ConvertTo-Html

A fájl tartalmát úgy is lekérheti, hogy a szolgáltató elérési útját a dollárjel ($) előtaggal előtaggal írják le. Az elérési utat kapcsos zárójelek közé kell zárni a változó elnevezési korlátozások miatt. További információ: about_Variables.

${C:\Windows\System32\drivers\etc\hosts}

Tartalom hozzáadása fájlhoz

Ez a parancs hozzáfűzi a "teszttartalom" sztringet a Test.txt fájlhoz:

Add-Content -Path test.txt -Value "test content"

A Test.txt fájl meglévő tartalma nem törlődik.

Fájl tartalmának cseréje

Ez a parancs a Test.txt fájl tartalmát a "teszttartalom" sztringre cseréli:

Set-Content -Path test.txt -Value "test content"

Felülírja a Test.txttartalmát. A parancsmag New-Item paraméterével tartalmat adhat hozzá egy fájlhoz a létrehozáskor.

A fájl tartalmának átcsúszása

Alapértelmezés szerint a Get-Content parancsmag a sorvég karaktert használja elválasztóként, így sztringek gyűjteményeként kap egy fájlt, amelyben minden sor egy sztringként szerepel a fájlban.

A Elválasztó paraméter használatával megadhat egy másik elválasztójelet. Ha azokat a karaktereket állítja be, amelyek egy szakasz végét vagy a következő szakasz elejét jelölik, a fájlt feloszthatja logikai részekre.

Az első parancs lekéri a Employees.txt fájlt, és szakaszokra osztja, amelyek mindegyike az "Alkalmazotti rekord vége" szóval végződik, és a $e változóba menti.

A második parancs tömbjelezést használ a gyűjtemény első elemének lekéréséhez a $e. 0 indexet használ, mivel a PowerShell-tömbök nulla alapúak.

A Get-Content parancsmaggal kapcsolatos további információkért tekintse meg a Get-Contentsúgótémakörét.

További információ a tömbökről: about_Arrays.

$e = Get-Content C:\test\employees.txt -Delimited "End Of Employee Record"
$e[0]

Biztonsági leírók kezelése

Fájl ACL-jének megtekintése

Ez a parancs egy System.Security.AccessControl.FileSecurity objektumot ad vissza:

Get-Acl -Path test.txt | Format-List -Property *

Az objektumról további információt a Get-Member parancsmagra vagy a FileSecurity osztályban talál.

Fájlok és könyvtárak létrehozása

Címtár létrehozása

Ez a parancs létrehozza a logfiles könyvtárat a C meghajtón:

New-Item -Path C:\ -Name logfiles -Type Directory

A PowerShell tartalmaz egy mkdir függvényt (alias md), amely a New-Item parancsmagot használja egy új könyvtár létrehozásához.

Fájl létrehozása

Ez a parancs létrehozza a log2.txt fájlt a C:\logfiles könyvtárban, majd hozzáadja a "tesztnapló" sztringet a fájlhoz:

New-Item -Path C:\logfiles -Name log2.txt -Type File

Fájl létrehozása tartalommal

Létrehoz egy log2.txt nevű fájlt a C:\logfiles könyvtárban, és hozzáadja a "tesztnapló" sztringet a fájlhoz.

New-Item -Path C:\logfiles -Name log2.txt -Type File -Value "test log"

Fájlok és könyvtárak átnevezése

Fájl átnevezése

Ez a parancs átnevezi a a.txt könyvtárban lévő C:\a fájlt b.txt:

Rename-Item -Path C:\a\a.txt -NewName b.txt

Címtár átnevezése

Ez a parancs átnevezi a C:\a\cc könyvtárat C:\a\dd:

Rename-Item -Path C:\a\cc -NewName dd

Fájlok és könyvtárak törlése

Fájl törlése

Ez a parancs törli a Test.txt fájlt az aktuális könyvtárban:

Remove-Item -Path test.txt

Fájlok törlése helyettesítő karakterekkel

Ez a parancs törli az összes fájlt az aktuális könyvtárban, amely rendelkezik a .xml fájlnévkiterjesztéssel:

Remove-Item -Path *.xml

Program indítása társított fájl meghívásával

Fájl meghívása

A Get-Service parancsmag a helyi szolgáltatásokra vonatkozó információk lekéréséhez, és az adatokat a Export-Csv parancsmagba állítva tárolja az adatokat a Services.csv fájlban.

Ezután Invoke-Item megnyitja a services.csv fájlt a .csv bővítményhez társított programban:

Get-Service | Export-Csv -Path services.csv
Invoke-Item -Path services.csv

Fájlok és mappák lekérése megadott attribútumokkal

Rendszerfájlok lekérése

Ez a parancs lekéri a rendszerfájlokat az aktuális könyvtárban és annak alkönyvtáraiban.

A Fájl paraméterrel csak fájlokat (nem könyvtárakat) és a System paramétert használja, hogy csak a "system" attribútummal rendelkező elemeket szerezze be.

A Recurse paramétert használja az aktuális könyvtár és az összes alkönyvtár elemeinek lekéréséhez.

Get-ChildItem -File -System -Recurse

Rejtett fájlok lekérése

Ez a parancs lekéri az összes fájlt, beleértve a rejtett fájlokat is az aktuális könyvtárban.

A Attribútumok paramétert használja két értékkel, !Directory+Hidden, amely rejtett fájlokat kap, és !Directory, amelyek minden más fájlt lekérnek.

Get-ChildItem -Attributes !Directory,!Directory+Hidden

dir -Att !d,!d+h a parancs megfelelője.

Tömörített és titkosított fájlok lekérése

Ez a parancs tömörített vagy titkosított fájlokat kap az aktuális könyvtárban.

A Attribútumok paramétert használja két értékkel, Compressed és Encrypted. Az értékeket vesszővel , választja el, amely az "OR" operátort jelöli.

Get-ChildItem -Attributes Compressed,Encrypted

Dinamikus paraméterek

A dinamikus paraméterek olyan parancsmagparaméterek, amelyeket egy PowerShell-szolgáltató ad hozzá, és csak akkor érhetők el, ha a parancsmagot a szolgáltató által engedélyezett meghajtón használják.

Kódolási <kódolási>

Megadja a fájlkódolást. Az alapértelmezett érték az ASCII.

  • ascii: Az ASCII (7 bites) karakterkészlet kódolását használja.
  • bigendianunicode: UTF-16 formátumban kódolja a big-endian bájtsorrendet.
  • bigendianutf32: UTF-32 formátumban kódolja a big-endian bájtsorrendet.
  • oem: Az alapértelmezett kódolást használja MS-DOS és konzolprogramokhoz.
  • unicode: UTF-16 formátumban kódolja a kis végű bájtsorrendet.
  • utf7: UTF-7 formátumban kódol.
  • utf8: UTF-8 formátumban kódol.
  • utf8BOM: UTF-8 formátumú kódolók byte order mark (BOM) használatával
  • utf8NoBOM: UTF-8 formátumban kódol byte order mark (BOM) nélkül
  • utf32: UTF-32 formátumban kódol.

Támogatott parancsmagok

  • Add-Content
  • Get-Content
  • Set-Content

Elválasztó <sztring>

Megadja azt a elválasztójelet, amelyet Get-Content használ a fájl olvasás közbeni objektumokra való felosztásához.

Az alapértelmezett érték \n, a sorvég karakter.

Szövegfájl olvasásakor Get-Content sztringobjektumok gyűjteményét adja vissza, amelyek mindegyike elválasztó karakterrel végződik.

Ha olyan elválasztót ad meg, amely nem létezik a fájlban, Get-Content a teljes fájlt egyetlen, nem tagolt objektumként adja vissza.

Ezzel a paraméterrel egy nagyobb fájlt feloszthat kisebb fájlokra, ha elválasztóként megad egy fájlelválasztót( például "Példa vége"). A határoló megmarad (nem elvetve), és az egyes fájlszakaszok utolsó elemévé válik.

Jegyzet

Ha a elválasztó paraméter értéke jelenleg üres sztring, Get-Content nem ad vissza semmit. Ez egy ismert probléma. Ha arra szeretné kényszeríteni Get-Content, hogy a teljes fájlt egyetlen, nem kézbesített sztringként adja vissza, adjon meg egy olyan értéket, amely nem létezik a fájlban.

Támogatott parancsmagok

  • Get-Content

Várakozás <SwitchParameter>

Megvárja, amíg a tartalom hozzá lesz fűzve a fájlhoz. Ha a tartalom hozzá van fűzve, a hozzáfűzött tartalmat adja vissza. Ha a tartalom megváltozott, a teljes fájlt adja vissza.

Várakozáskor Get-Content másodpercenként egyszer ellenőrzi a fájlt, amíg meg nem szakítja, például a CTRL+C billentyűkombináció lenyomásával.

Támogatott parancsmagok

  • Get-Content

Attribútumok <FlagsExpression>

Lekéri a megadott attribútumokkal rendelkező fájlokat és mappákat. Ez a paraméter támogatja az összes attribútumot, és lehetővé teszi az attribútumok összetett kombinációjának megadását.

A Attribútumok paraméter a Windows PowerShell 3.0-ban lett bevezetve.

Az attribútumok paraméter a következő attribútumokat támogatja:

  • archív
  • tömörített
  • eszköz
  • Címtár
  • Titkosított
  • rejtett
  • Normál
  • NotContentIndexed
  • offline
  • ReadOnly
  • ReparsePoint
  • SparseFile
  • rendszer
  • ideiglenes

Ezeknek az attribútumoknak a leírását a FileAttributes enumerálásban talál.

Az attribútumok kombinálásához használja az alábbi operátorokat.

  • ! – NEM
  • + - ÉS
  • , – VAGY

Az operátorok és attribútumaik között nem engedélyezett szóközök használata. A szóközök azonban vessző előtt engedélyezettek.

Támogatott parancsmagok

  • Get-ChildItem

Könyvtár <KapcsolóParaméter>

Könyvtárakat (mappákat) kap.

A Directory paraméter a Windows PowerShell 3.0-ban lett bevezetve.

Ha csak könyvtárakat szeretne beszerezni, használja a Könyvtár paramétert, és hagyja ki a Fájl paramétert. A könyvtárak kizárásához használja a Fájl paramétert, és hagyja ki a Könyvtár paramétert, vagy használja a Attribútumok paramétert.

Támogatott parancsmagok

  • Get-ChildItem

Fájl <SwitchParameter>

Lekéri a fájlokat.

A Fájl paraméter a Windows PowerShell 3.0-ban lett bevezetve.

Csak a fájlok lekéréséhez használja a Fájl paramétert, és hagyja ki a Directory paramétert. A fájlok kizárásához használja a Directory paramétert, és hagyja ki a Fájl paramétert, vagy használja a Attribútumok paramétert.

Támogatott parancsmagok

  • Get-ChildItem

Rejtett <SwitchParameter>

Csak a rejtett fájlokat és könyvtárakat (mappákat) kapja meg. Alapértelmezés szerint Get-ChildItem csak nem rejtett elemeket kap.

A Rejtett paraméter a Windows PowerShell 3.0-ban lett bevezetve.

Ha csak rejtett elemeket szeretne lekérni, használja a Rejtett paramétert, annak h vagy ah aliasait, vagy a Attribútumok paraméter Rejtett értékét. A rejtett elemek kizárásához hagyja ki a Rejtett paramétert, vagy használja a Attribútumok paramétert.

Támogatott parancsmagok

  • Get-ChildItem

ReadOnly <SwitchParameter>

Csak írásvédett fájlokat és könyvtárakat (mappákat) kap.

A ReadOnly paraméter a Windows PowerShell 3.0-ban lett bevezetve.

Ha csak írásvédett elemeket szeretne lekérni, használja a ReadOnly paramétert, annak ar aliasát vagy az Attribútumok paraméter ReadOnly értékét. Az írásvédett elemek kizárásához használja az Attribútumok paramétert.

Támogatott parancsmagok

  • Get-ChildItem

System <SwitchParameter>

Csak a rendszerfájlokat és könyvtárakat (mappákat) kapja meg.

A System paraméter a Windows PowerShell 3.0-ban lett bevezetve.

Ha csak rendszerfájlokat és mappákat szeretne lekérni, használja a Rendszer paramétert, annak as aliasát, vagy a Attribútumok paraméter Rendszer értékét. A rendszerfájlok és mappák kizárásához használja a Attribútumok paramétert.

Támogatott parancsmagok

  • Get-ChildItem

Újabb, mint <DátumIdő>

$true ad vissza, ha egy fájl LastWriteTime értéke nagyobb a megadott dátumnál. Ellenkező esetben $falsead vissza.

Adjon meg egy DateTime objektumot, például azt, amelyet a Get-Date parancsmag ad vissza, vagy egy sztringet, amely DateTime objektummá alakítható, például "August 10, 2011 2:00 PM".

Támogatott parancsmagok

OlderThan <DateTime>

$true ad vissza, ha egy fájl LastWriteTime értéke kisebb a megadott dátumnál. Ellenkező esetben $falsead vissza.

Adjon meg egy DateTime objektumot, például azt, amelyet a Get-Date parancsmag visszaad, vagy egy sztringet, amely DateTime objektummá alakítható, például "August 10, 2011 2:00 PM".

Támogatott parancsmagok

  • Test-Path

Stream <Sztring>

Alternatív adatfolyamok kezelése. Adja meg a stream nevét. A helyettesítő karakterek csak a fájlrendszer-meghajtón lévő parancsok Get-Item és Remove-Item engedélyezettek.

Támogatott parancsmagok

  • Add-Content
  • Clear-Content
  • Get-Item
  • Get-Content
  • Remove-Item
  • Set-Content

Nyers <SwitchParameter>

Figyelmen kívül hagyja az újsoros karaktereket. A tartalmat egyetlen elemként adja vissza.

Támogatott parancsmagok

  • Get-Content

ItemType <sztring>

Ezzel a paraméterrel megadhatja, hogy milyen típusú elemet hozzon létre New-Item.

A paraméter elérhető értékei a használt aktuális szolgáltatótól függenek.

Egy FileSystem meghajtón a következő értékek engedélyezettek:

  • Fájl
  • Címtár
  • SymbolicLink
  • Csomópont
  • HardLink

Támogatott parancsmagok

  • New-Item

A folyamat használata

A szolgáltatói parancsmagok elfogadják a folyamatbemenetet. A folyamat használatával egyszerűsítheti a feladatokat, ha szolgáltatói adatokat küld egy parancsmagból egy másik szolgáltatói parancsmagnak. A folyamat szolgáltatói parancsmagokkal való használatával kapcsolatos további információkért tekintse meg a cikkben található parancsmag-hivatkozásokat.

Segítség kérése

A Windows PowerShell 3.0-tól kezdve testre szabott súgótémaköröket kaphat a szolgáltatói parancsmagokhoz, amelyek ismertetik, hogyan viselkednek ezek a parancsmagok a fájlrendszer-meghajtókon.

A fájlrendszer-meghajtóhoz testre szabott súgótémakörök lekéréséhez futtasson egy Get-Help parancsot egy fájlrendszer-meghajtón, vagy használja a Get-Help paraméterét a fájlrendszer-meghajtó megadásához.

Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path c:

Lásd még