about_FileSystem_Provider
Szolgáltató neve
Fájlrendszer
Meghajtók
C:
, , D:
Temp:
...
Képességek
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 lekérését, hozzáadását, módosítását, törlését és törlését a PowerShellben.
A FileSystem-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ók lehetnek logikai vagy fizikai meghajtók, címtárak vagy leképezett hálózati megosztások.
A PowerShell 7.0-s verziójától kezdve a rendszer leképez egy hívott TEMP:
meghajtót a felhasználó ideiglenes könyvtárútvonalára. A PowerShell a .NET GetTempPath() metódussal határozza meg az ideiglenes mappa helyét. Windows rendszeren a hely megegyezik $env:TEMP
a . Nem Windows rendszerű rendszereken a hely megegyezik $env:TMPDIR
a környezeti változóval, vagy /tmp
ha nincs definiálva.
A Fájlrendszer-szolgáltató az alábbi parancsmagokat támogatja, amelyekről ebben a cikkben szó van.
- Hely lekérése
- Beállítás helye
- Elem lekérése
- Get-ChildItem
- Meghívás-elem
- Elem áthelyezése
- Új elem
- Elem eltávolítása
- Get-ItemProperty
- Set-ItemProperty
- Elem törlése
- Clear-ItemProperty
- Elem eltávolítása
- Remove-ItemProperty
- Get-Acl
- Set-Acl
- Get-AuthenticodeSignature
- Set-AuthenticodeSignature
- Tartalom hozzáadása
- Tartalom törlése
- Tartalom lekérése
- Tartalom beállítása
A szolgáltató által közzétett típusok
A fájlok a System.IO.FileInfo osztály példányai. A könyvtá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. Linux és macOS fájlrendszerek támogatása HardLink
és SymLink
. A Windows NTFS támogatja HardLink
a Junction
SymLink
LinkType számos más értékét is.
Csatolt elem használatakor Get-Item
vagy Get-ChildItem
információként a Mode tulajdonság azt l
jelzi, hogy az elem hivatkozás. A LinkType tulajdonság a hivatkozás típusát tartalmazza.
AppExecLink
A hivatkozások akkor jönnek létre, amikor telepít egy alkalmazást a Microsoft Store-ból. Hivatkozások esetén AppExecLink
a Windows nem ad meg értékeket a LinkType vagy a LinkTarget tulajdonságokhoz.
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 Fájlrendszer-meghajtók navigálása
A Fájlrendszer-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. A FileSystem-meghajtók használatához módosíthatja a helyet egy meghajtóra a meghajtó nevével, amelyet kettőspont (kettőspont):
követ.
Set-Location C:
A Fájlrendszer-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 a meghajtó nevét (C:
, D:
, ...) az elérési úton.
Feljegyzés
A PowerShell aliasokkal teszi lehetővé a szolgáltatói útvonalakkal való munkavégzést. Az olyan parancsok, mint például dir
az ls
és most már aliasok Get-ChildItem
, cd
a következőhöz tartoznak Set-Location
: . és pwd
a Get-Location
.
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 a Get-ChildItem című témakörben olvashat bővebben.
Fájlok és könyvtárak másolása
A Copy-Item
parancsmag fájlokat és könyvtárakat másol egy ön által megadott helyre.
A paraméterek a következőhöz hasonlóan szűrhetők és ismétlődnek Get-ChildItem
:
Az alábbi parancs az összes fájlt és könyvtárat átmásolja a mappa C:\Windows\Temp
elérési útja C:\temp\
alatt.
Copy-Item -Path C:\temp\* -Destination C:\Windows\Temp -Recurse -File
Copy-Item
felülírja a célkönyvtárban lévő fájlokat anélkül, hogy megerősítést kér.
Ez a parancs átmásolja a fájlt a a.txt
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 a könyvtárban lévő C:\a
ö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 meghiúsul, 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 áthelyezi a c.txt
könyvtárban lévő C:\a
fájlt a C:\a\aa
könyvtárba:
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. Amikor Move-Item
a címtárat az aktuális helyen helyezi át, 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 fájl meglévő Test.txt
tartalma nem törlődik.
Fájl tartalmának cseréje
Ez a parancs a fájl tartalmát Test.txt
a "teszttartalom" sztringre cseréli:
Set-Content -Path test.txt -Value "test content"
Felülírja a .Test.txt
A parancsmag Érték paraméterével New-Item
tartalmat adhat hozzá egy fájlhoz a létrehozáskor.
A fájl tartalmának átcsúszása
A parancsmag alapértelmezés szerint Get-Content
a sorvég karaktert használja elválasztóként, ezért sztringek gyűjteményeként kap egy fájlt, és minden sort egy sztringként használ a fájlban.
A Határoló paraméter használatával alternatív elválasztójelet adhat meg. 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 menti a $e
változóban.
A második parancs tömbjelezést használ a gyűjtemény $e
első elemének lekéréséhez. 0 indexet használ, mivel a PowerShell-tömbök nulla alapúak.
A parancsmagról Get-Content
további információt a súgótémakörben talál.Get-Content
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 objektummal kapcsolatos további információkért a parancsot a Get-Member parancsmaghoz vagy a FileSecurity osztályhoz kell átirányítani.
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 függvényt mkdir
(alias md
) is, amely a New-Item
parancsmaggal hoz létre egy új könyvtárat.
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, a C:\logfiles
könyvtárban hívott log2.txt
fájlt, é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ő fájlt a C:\a
következőre b.txt
:
Rename-Item -Path c:\a\a.txt -NewName b.txt
Címtár átnevezése
Ez a parancs átnevezi a könyvtárat a C:\a\cc
következőre 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 fájlt az Test.txt
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 Adatok exportálása csv parancsmagba való beolvasásához, hogy az adatokat a Services.csv
fájlban tárolja.
Ezután az Invoke-Item megnyitja a services.csv
fájlt a bővítményhez .csv
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 a fájlokat (nem könyvtárakat) és a Rendszer 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.
Az Attribútumok paramétert két értékkel használja, !Directory+Hidden
amelyek rejtett fájlokat kapnak, és !Directory
az összes többi fájlt lekéri.
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.
Az Attribútumok paramétert két értékkel Compressed
és Encrypted
. Az értékek vesszővel ,
vannak elválasztva, 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ás kódolása <>
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 MS-DOS és a konzolprogramok alapértelmezett kódolását használja.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átumban kódol byte order mark (BOM)utf8NoBOM
: UTF-8 formátumban kódol byte order mark (BOM) nélkülutf32
: UTF-32 formátumban kódol.
Támogatott parancsmagok
Add-Content
Get-Content
Set-Content
Határoló sztring <>
Megadja a fájl olvasás közben objektumokra való felosztásához használt elválasztójelet Get-Content
.
Az alapértelmezett érték \n
a sorvég karakter.
Szövegfájl Get-Content
olvasásakor sztringobjektum-gyűjteményt ad vissza, amelyek mindegyike elválasztó karakterrel végződik.
Ha a fájlban nem létező elválasztójelet ad vissza, 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.
Feljegyzés
Jelenleg, ha a Határoló paraméter értéke egy üres sztring, Get-Content
nem ad vissza semmit. Ez egy ismert probléma. Get-Content
Ha a teljes fájlt egyetlen, nem kézbesített sztringként szeretné visszaadni, adjon meg egy olyan értéket, amely nem létezik a fájlban.
Támogatott parancsmagok
Get-Content
Várakozási <kapcsolóparaméter>
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őrizze a fájlt, amíg meg nem szakítja azt, 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.
Az 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ívum
- Tömörített
- Eszköz
- Címtár
- Titkosított
- Rejtett
- Normális
- NotContentIndexed
- Offline
- ReadOnly
- ReparsePoint
- SparseFile
- Rendszer
- Ideiglenes
Ezeknek az attribútumoknak a leírásáért tekintse meg a FileAttributes enumerálást.
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
Directory <SwitchParameter>
Könyvtárakat (mappákat) kap.
A Címtár paraméter a Windows PowerShell 3.0-ban lett bevezetve.
Ha csak könyvtárakat szeretne lekérni, használja a Címtá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 Címtár paramétert, vagy használja az Attribútumok paramétert.
Támogatott parancsmagok
Get-ChildItem
Fájlkapcsolóparaméter <>
Lekéri a fájlokat.
A Fájl paraméter a Windows PowerShell 3.0-ban lett bevezetve.
Ha csak fájlokat szeretne lekérni, használja a Fájl paramétert, és hagyja ki a Címtár paramétert. A fájlok kizárásához használja a Címtár paramétert, és hagyja ki a Fájl paramétert, vagy használja az Attribútumok paramétert.
Támogatott parancsmagok
Get-ChildItem
Rejtett <kapcsolóparaméter>
Csak a rejtett fájlokat és könyvtárakat (mappákat) kapja meg. Alapértelmezés szerint Get-ChildItem
csak a nem rejtett elemeket kapja meg.
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, illetve az Attribútumok paraméter Rejtett értékét. A rejtett elemek kizárásához hagyja ki a Rejtett paramétert, vagy használja az 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 aliasát ar
vagy az Attribútumok paraméter ReadOnly értékét. A csak olvasható 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 rendszerparamé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 aliasát as
vagy az Attribútumok paraméter rendszerértékét. A rendszerfájlok és mappák kizárásához használja az Attribútumok paramétert.
Támogatott parancsmagok
Get-ChildItem
NewerThan <DateTime>
Akkor adja $True
vissza, ha egy LastWriteTime
fájl értéke nagyobb a megadott dátumnál. Ellenkező esetben a visszaadott $False
érték.
Adjon meg egy DateTime-objektumot, például a Get-Date parancsmag által visszaadott objektumot, vagy egy olyan sztringet, amely konvertálható DateTime-objektummá, például"August 10, 2011 2:00 PM"
.
Támogatott parancsmagok
OlderThan <DateTime>
Akkor adja $True
vissza, ha egy LastWriteTime
fájl értéke kisebb a megadott dátumnál. Ellenkező esetben a visszaadott $False
érték.
Adjon meg egy DateTime-objektumot, például a Get-Date
parancsmag által visszaadott objektumot, vagy egy olyan sztringet, amely konvertálható DateTime-objektummá, 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 Get-Item
a fájlrendszer-meghajtókra és Remove-Item
parancsokra engedélyezettek.
Támogatott parancsmagok
Add-Content
Clear-Content
Get-Item
Get-Content
Remove-Item
Set-Content
Nyers <kapcsolóparaméter>
Figyelmen kívül hagyja az újsoros karaktereket. A tartalmat egyetlen elemként adja vissza.
Támogatott parancsmagok
Get-Content
ItemType sztring <>
Ez a paraméter lehetővé teszi a létrehozandó elem típusának megadását New-Item
.
A paraméter elérhető értékei a használt aktuális szolgáltatótól függenek.
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 fájlrendszer-meghajtó elérési út paraméterét Get-Help
.
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path c: