Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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.
- get-location
- set-location
- get-item
- Get-ChildItem
- meghívóelemes
- áthelyezési
- Új elem
- Remove-Item
- Get-ItemProperty
- Set-ItemProperty
- Elem törlése
- Clear-ItemProperty
- Remove-Item
- Remove-ItemProperty
- Get-Acl
- Set-Acl
- Get-AuthenticodeSignature
- Set-AuthenticodeSignature
- Bővítmények
- Tartalom törlése
- Tartalom lekérése
- tartalomkészlet-
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 ->
Navigálás a fájlrendszer-meghajtókon
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-ContentGet-ContentSet-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-ContentClear-ContentGet-ItemGet-ContentRemove-ItemSet-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: