Доставчик на файлова система, Microsoft Docs

Дестинация: Windows PowerShell 4.0, Windows PowerShell 5.0

ИМЕ НА ДОСТАВЧИК

КРАТКО ОПИСАНИЕ

Осигурява достъп до файлове и директории.

ПОДРОБНО ОПИСАНИЕ

Доставчикът на Windows PowerShell FileSystem ви позволява да проверявате, добавяте, модифицирате, почиствате и изтривате файлове и директории в Windows PowerShell.

Доставчикът на FileSystem показва дискове на Windows PowerShell, които съответстват на логически дискове, конфигурирани на компютъра, включително дискове, нанесени към мрежови споделяния. Това ви позволява да препращате към устройства от Windows PowerShell.

Доставчикът на FileSystem ви позволява да препращате към файлове и папки в Windows PowerShell по същия начин, както правите в Windows.

За да посочите устройство, трябва да посочите името на устройството, последвано от двоеточие. Подобно на повечето доставчици на Windows PowerShell, доставчикът на FileSystem е нечувствителен към главни и малки букви. Например, за да получите файлове и папки на устройство C, трябва да се обърнете към устройство „C:“ или устройство „c:“.

Напълно квалифицираното име включва името на устройството (с двоеточие), всички имена на директории и поддиректории и името на файла (ако е приложимо). Всички елементи с пълно име са разделени с обратна наклонена черта (\) или наклонена черта (/).

Следващият пример показва пълното име на файла Shell.dll, намиращ се в поддиректорията System32 на директорията на Windows на устройството C:.

Ако елементът в пълното име съдържа интервали, името трябва да бъде поставено в кавички.

"C:\Program Files\Internet Explorer\iexplore.exe"

Точката (.) представлява текущото местоположение във файловата система.

Например, ако текущото местоположение е C:\Windows\System32, можете да се обърнете към файла Shell.dll в тази директория, както следва:

Започвайки с Windows PowerShell 3.0,Налични са персонализирани теми за помощ за кратки команди на доставчик, които обясняват поведението на тези кратки команди на диск с файлова система.

За достъп до помощни теми на устройство с файлова система изпълнете командата Get-Help на устройство с файлова система или използвайте параметъра Path на командата Get-Help, за да посочите устройство с файлова система.

PS C:\> Get-Help get-childitem

Освен това, започвайки с Windows PowerShell 3.0, доставчикът на FileSystem поддържа идентификационни данни за командата New-PSDrive. За повече информация вижте помощта за кратката команда New-PSDrive.

ВЪЗМОЖНОСТИ

Разделяне на големи файлове

По подразбиране кратката команда Get-Content използва знака за край на реда като разделител, така че връща файла като колекция от редове, където всеки ред е един ред във файла.

Параметърът Delimiter може да се използва за указване на алтернативен разделител. Ако стойността му е зададена на знаци, които показват края на раздел или началото на следващия раздел, файлът може да бъде разделен на логически части.

Първата команда взема файла Employees.txt и го разделя на секции, всяка от които завършва с думите „End of Employee Record“, и го съхранява в променливата $e.

Втората команда използва запис на масив, за да получи първия елемент в колекцията в $e. Той използва индекс 0, тъй като индексирането на масива на Windows PowerShell започва от нула.

За повече информация относно масивите вижте about_Arrays.

Преходи във файловата система

Тази команда връща текущото местоположение:

Кратката команда Get-Location предлага функционалността на команди като "cd" в командния ред на Windows и "pwd" в UNIX. За повече информация въведете:get-help get-location

Тази команда задава текущото местоположение:

Получаване на информация за файлове и директории

Тази команда връща всички файлове и поддиректории на текущата директория:

По подразбиране кратката команда Get-ChildItem не рекурсира. Ако има файлове и папки в текущата директория, когато се изпълнява тази команда, обектите System.IO.FileInfo и System.IO.DirectoryInfo ще бъдат върнати.

Тази команда връща всички файлове в текущата директория:

Той използва cmdlet Get-ChildItem. Той предава резултатите от своята работа към cmdlet Where-Object, който предава само обекти, които не са (!) контейнери.

Тази команда връща всички файлове и директории с помощта на cmdlet Get-ChildItem. Той предава резултатите към cmdlet Where-Object, който избира само обекти, които са контейнери.

Тази команда показва свойствата на директория:

Тази команда използва параметъра Path на cmdlet Get-Item, за да получи директорията C:\ps-test. Той препраща обекта на каталога към cmdlet Format-List, който показва всички (*) свойства и стойности на каталога в списък.

Тази команда показва свойствата на файл:

Командата използва параметъра Path на cmdlet Get-Item, за да получи файла test.txt. Той препраща файловия обект към cmdlet Format-List, който показва всички (*) свойства и стойности на файла в списък.

Копиране на файлове и директории

Тази команда копира файла A.txt от директорията C:\A в директорията C:\A\Bb:

Файловете в целевата директория се презаписват без искане за потвърждение.

Тази команда копира всички файлове в директорията C:\A\Bb с разширение .txt в директорията C:\A\Cc\Ccc\:

Използват се оригиналните имена на файлове. Екипно презаписванесъществуващи файлове в целевата директория, без да искате потвърждение.

Копира всички директории и файлове от директория C:\a в директория C:\c. Ако някакви директории, които трябва да бъдат копирани, вече съществуват в целевата директория, тогава командата ще бъде неуспешна, освен ако не е указан параметърът Force.

Преместване на файлове и директории

Тази команда премества файла C.txt от директорията C:\A в директорията C:\A\Aa:

Командата няма автоматично да презапише съществуващ файл със същото име. За да принудите съществуващ файл да бъде презаписан, трябва да зададете параметъра Force.

Тази команда премества директорията C:\A и цялото й съдържание в директорията C:\B:

Не можете да преместите директория, ако тя е същата като текущото местоположение.

Управление на съдържанието на файла

Тази команда добавя низа "test content" към файла Test.txt:

Съществуващото съдържание на файла Test.txt не се изтрива.

Тази команда получава съдържанието на файла Test.txt и го показва в конзолата:

Съдържанието на файла може да бъде прехвърлено към друг cmdlet. Например следната команда чете съдържанието на Test.txt и го предава като вход към кратката команда ConvertTo-HTML: get-content -path test.txt convertto-html

Тази команда замества съдържанието на файла Test.txt с низа "test content":

Той презаписва съдържанието на файла Test.txt. Можете да използвате параметъра Value на кратката команда New-Item, за да добавите съдържание към файл, когато е създаден.

Управление на дескриптори за сигурност

Тази команда връща обект System.Security.AccessControl.FileSecurity:

Тази команда връща обект System.Security.AccessControl.DirectorySecurity:

Създаване на файлове и директории

Тази команда създава директорията Logfiles на устройство C:

Тази команда създава файлLog2.txt в директорията C:\Logfiles и след това добавя реда "test log" към файла:

Създава файл с име Log2.txt в директорията C:\logfiles и добавя низа "test log" към файла.

Преименуване на файлове и директории

Тази команда преименува файла A.txt в директорията C:\A на B.txt:

Тази команда преименува директорията C:\A\Cc на C:\A\Dd:

Изтриване на файлове и директории

Тази команда изтрива файла Test.txt в текущата директория:

Тази команда премахва всички файлове, които имат разширение .xml в текущата директория:

Стартиране на програма чрез извикване на асоцииран файл

Първата команда използва cmdlet Get-Service, за да получи информация за локални услуги.

Той предава информацията към кратката команда Export-Csv и съхранява информацията във файла Services.csv.

Втората команда използва cmdlet Invoke-Item, за да отвори файла Services.csv в програма, свързана с файловото разширение CSV:

Получаване на файлове и папки с определени атрибути

Тази команда връща системните файлове в текущата директория и нейните поддиректории.

Той използва параметъра File, за да получи само файлове (не директории), и параметъра System, за да получи само елементи с атрибут System.

Параметърът Recurse се използва за извличане на елементи в текущата директория и всички поддиректории.

Тази команда връща всички файлове, включително скрити файлове, в текущата директория.

Той използва параметъра Attributes с две стойности, !Directory+Hidden, която връща скрити файлове и !Directory, която връща всички останали файлове.

"dir -att !d,!d+h" е еквивалентът на тази команда.

Тази команда връща файловете в текущата директория, които са компресирани или криптирани.

Той използва параметъра Attributes с двестойностите са компресирани и криптирани. Стойностите са разделени със запетая (,), представляващи оператора ИЛИ.

ДИНАМИЧНИ ПАРАМЕТРИ

Динамичните параметри са параметри на cmdlet, които се добавят от доставчика на Windows PowerShell и са налични само когато използвате cmdlet на устройството на доставчика.

Указва кодирането на файла. Стойността по подразбиране е ASCII.

Стойност Описание

Типът кодиране е неизвестен или невалиден. Данните могат да се разглеждат като двоични.

Използва се типът на кодиране за низа.

Кодира във формат UTF-16 little endian.

Кодира набор от знаци в поредица от байтове.

Кодира във формат UTF-16 с голям ред

Кодира във формат UTF-8.

Кодира във формат UTF-7.

Използваното кодиране е за ASCII набор от знаци (7 бита)

Поддържани командлети:

Указва разделителя, използван от кратката команда Get-Content за разделяне на файла на обекти, когато се чете.

Стойността по подразбиране е "\n", знакът за край на реда.

Следователно по подразбиране при четене на текстов файл cmdlet Get-Content връща колекция от низови обекти, всеки от които завършва с терминатор на ред.

Ако въведете разделител, който не съществува във файла, кратката команда Get-Content връща целия файл като единичен неразделен обект.

Тази опция може да се използва за разделяне на голям файл на по-малки файлове чрез указване на файлов разделител, като например „Край на примера“, като разделител. Разделителят се запазва (не се премахва) и става последният елемент във всеки раздел на файла.

Бележка за отстраняване на неизправности. В момента, ако стойността на параметъра Delimiter е празен низ, cmdletGet-Content не връща нищо. Това е известен проблем. За да принудите кратката команда Get-Content да върне целия файл като единичен неразделен низ, въведете стойност, която не съществува във файла.

Поддържани командлети:

Изчаква добавяне на съдържание към файла. Ако се добави съдържание, връща добавеното съдържание. Ако съдържанието не е променено, връща целия файл.

Докато чака, кратката команда Get-Content проверява файла веднъж в секунда, докато не бъде прекъсната, например чрез натискане на CTRL+C.

Поддържани командлети:

Атрибути

Получава файлове и папки с посочените атрибути. Тази опция поддържа всички атрибути и ви позволява да зададете сложни комбинации от атрибути.

Параметърът Attributes се появява за първи път в Windows PowerShell 3.0.

Параметърът Attributes поддържа следните атрибути: Archive, Compressed, Device, Directory, Encrypted, H >

Следните оператори се използват за комбинация от атрибути.

Не се допускат интервали между оператор и неговия атрибут. Пред запетаи обаче могат да се поставят интервали.

Поддържани командлети:

Връща директории (папки).

Параметърът Directory се появява за първи път в Windows PowerShell 3.0.

За да получите само директории, използвайте параметъра Directory и пропуснете параметъра File. За да изключите директории, използвайте параметъра File и пропуснете параметъра Directory или използвайте параметъра Attributes.

Поддържани командлети:

Параметърът File се появява за първи път в Windows PowerShell 3.0.

За да получите само файлове, използвайте параметъра File и пропуснете параметъра Directory. За да изключите файлове, използвайте опцията Директорияи пропуснете параметъра File или използвайте параметъра Attributes.

Поддържани командлети:

Връща само скрити файлове и директории (папки). По подразбиране Get-ChildItem връща само нескрити елементи.

Параметърът Hidden се появи за първи път в Windows PowerShell 3.0.

За да получите само скрити елементи, използвайте параметъра Hidden, неговия псевдоним "h" или "ah" или стойността Hidden на параметъра Attributes. За да изключите скрити елементи, пропуснете параметъра Hidden или използвайте параметъра Attributes.

Поддържани командлети:

Връща файлове и директории (папки) само за четене.

Параметърът ReadOnly се появи за първи път в Windows PowerShell 3.0.

За да получите елементи само за четене, използвайте параметъра ReadOnly, неговия псевдоним "ar" или стойността ReadOnly на параметъра Attributes. За да изключите елементи само за четене, използвайте параметъра Attributes.

Поддържани командлети:

Връща само системни файлове и директории (папки).

Параметърът System се появява за първи път в Windows PowerShell 3.0.

За да получите само системни файлове и папки, използвайте системния параметър, неговия псевдоним „as“ или стойността на системния параметър на параметъра Attributes. За да изключите системни файлове и папки, използвайте параметъра Attributes.

Поддържани командлети:

Връща "True" ($True), ако LastWriteTime на файла е по-голямо от указаната дата. В противен случай връща "False" ($False).

Поддържани командлети:

Връща "True" ($True), ако LastWriteTime на файла е по-малко от указаната дата. В противен случай връща "False" ($False).

Поддържани командлети:

Управлява алтернативни потоци от данни. Въведете име за потока. Заместващите символи са разрешени само в кратки команди Get-Item for FileSystem и Remove-Item for FileSystem на устройство с файлова система.