Add-Content

moduł: Microsoft.PowerShell.Zarządzanie

dodaje zawartość do określonych elementów, takich jak dodawanie słów do pliku.

składnia

Add-Content <string> <Object> >] >] 
Add-Content <Object> -LiteralPath <string> >] >] 

opis

Add-Content cmdlet dołącza zawartość do określonego elementu lub pliku. Możesz określić zawartość wpisując zawartość w poleceniu lub określając obiekt, który zawiera zawartość.

Jeśli chcesz utworzyć pliki lub katalogi dla poniższych przykładów, zobacz New-Item.

przykłady

przykład 1: Dodaj łańcuch znaków do wszystkich plików tekstowych z wyjątkiem

Ten przykład dodaje wartość do plików tekstowych w bieżącym katalogu, ale wyklucza pliki oparte na ich nazwie pliku.

Add-Content -Path .\*.txt -Exclude help* -Value 'End of file'

parametr Path określa wszystkie pliki.txt w bieżącym katalogu, ale Excludeparameter ignoruje nazwy plików pasujące do podanego wzorca. Parametr Value określa ciąg tekstowy, który jest zapisywany do plików.

przykład 2: Dodaj datę na końcu określonych plików

Ten przykład dołącza datę do plików w bieżącym katalogu i wyświetla datę w konsoli powłoki.

Add-Content -Path .\DateTimeFile1.log, .\DateTimeFile2.log -Value (Get-Date) -PassThruGet-Content -Path .\DateTimeFile1.logTuesday, May 14, 2019 8:24:27 AMTuesday, May 14, 2019 8:24:27 AM5/14/2019 8:24:27 AM

polecenie poleceniaAdd-Content tworzy dwa nowe pliki w bieżącym katalogu. Parametr Value zawiera wyjście poleceniaGet-Date. Parametr PassThru wyprowadza dodaną zawartość do potoku.Ponieważ nie ma innego cmdleta do odbioru wyjścia, jest on wyświetlany w konsoli PowerShell.Polecenie poleceniaGet-Content wyświetla zaktualizowany plik,DateTimeFile1.log.

przykład 3: Dodaj zawartość podanego pliku do innego pliku

Ten przykład pobiera zawartość z pliku i przechowuje ją w zmiennej. Zmienna służy do dołączenia zawartości do innego pliku.

$From = Get-Content -Path .\CopyFromFile.txtAdd-Content -Path .\CopyToFile.txt -Value $FromGet-Content -Path .\CopyToFile.txt
  • polecenie cmdletGet-Content pobiera zawartośćCopyFromFile.txt I zapisuje zawartość w zmiennej$From.
  • polecenie poleceniaAdd-Content aktualizuje plikCopyToFile.txt używając zawartości zmiennej$From.
  • Get-Content cmdlet wyświetla plik CopyToFile.txt.

przykład 4: Dodaj zawartość podanego pliku do innego pliku za pomocą potoku

Ten przykład pobiera zawartość z pliku i kieruje ją do poleceniaAdd-Content.

Get-Content -Path .\CopyFromFile.txt | Add-Content -Path .\CopyToFile.txtGet-Content -Path .\CopyToFile.txt

Get-Content cmdlet pobiera zawartośćCopyFromFile.txt. Wyniki są przesyłane do poleceniaAdd-Content, który aktualizujeCopyToFile.txt.OstatniGet-Content cmdlet wyświetlaCopyToFile.txt.

przykład 5: Utwórz nowy plik i skopiuj zawartość

Ten przykład tworzy nowy plik i kopiuje zawartość istniejącego pliku do nowego pliku.

Add-Content -Path .\NewFile.txt -Value (Get-Content -Path .\CopyFromFile.txt)Get-Content -Path .\NewFile.txt
  • polecenie poleceniaAdd-Content używa parametrów ścieżki i wartości do utworzenia nowego pliku w bieżącym katalogu.
  • Get-Content cmdlet pobiera zawartość istniejącego pliku,CopyFromFile.txtI przekazuje go do parametru Value. Nawiasy wokół poleceniaGet-Content zapewniają, że polecenie kończy się przed rozpoczęciem polecenia Add-Content.
  • polecenie poleceniaGet-Content wyświetla zawartość nowego pliku,NewFile.txt.

przykład 6: Dodaj zawartość do pliku Tylko do odczytu

To polecenie dodaje wartość do pliku, nawet jeśli atrybut IsReadOnly file jest ustawiony na True.Kroki tworzenia pliku Tylko do odczytu są zawarte w przykładzie.

New-Item -Path .\IsReadOnlyTextFile.txt -ItemType FileSet-ItemProperty -Path .\IsReadOnlyTextFile.txt -Name IsReadOnly -Value $TrueGet-ChildItem -Path .\IsReadOnlyTextFile.txtAdd-Content -Path .\IsReadOnlyTextFile.txt -Value 'Add value to read-only text file' -ForceGet-Content -Path .\IsReadOnlyTextFile.txtMode LastWriteTime Length Name---- ------------- ------ -----ar-- 1/28/2019 13:35 0 IsReadOnlyTextFile.txt
  • polecenie cmdletNew-Item używa parametrów Path i ItemType do utworzenia plikuIsReadOnlyTextFile.txt w bieżącym katalogu.
  • polecenie poleceniaSet-ItemProperty używa parametrów Nazwa i wartość, aby zmienić właściwość file ’ sisreadonly na True.
  • polecenie poleceniaGet-ChildItem pokazuje, że plik jest pusty (0) i ma atrybut Tylko do odczytu (r).
  • polecenie poleceniaAdd-Content używa parametru Path do określenia pliku. Parametr Value zawiera łańcuch tekstowy, który ma być dołączony do pliku. Parametr Force zapisuje tekst do pliku tylko dla użytkownika.
  • polecenie poleceniaGet-Content używa parametru Path do wyświetlenia zawartości pliku.

aby usunąć atrybut Tylko do odczytu, użyj poleceniaSet-ItemProperty z parametrami wartości naFalse.

przykład 7: Użyj filtrów Z Add-Content

możesz określić filtr do poleceniaAdd-Content. Podczas używania filtrów do zakwalifikowania parametru ścieżki należy dołączyć końcową gwiazdkę (*), aby wskazać zawartość ścieżki.

poniższe polecenie dodaje słowo „gotowe” do zawartości wszystkich plików*.txt w kataloguC:\Temp.

Add-Content -Path C:\Temp\* -Filter *.txt -Value "Done"

parametry

-AsByteStream

określa, że zawartość powinna być odczytywana jako strumień bajtów. Ten parametr został wprowadzony wpowershell 6.0.

ostrzeżenie pojawia się, gdy używasz parametru AsByteStream z parametrem kodowania. TheAsByteStream parameter ignores any encoding and the output is returned as a stream of bytes.

Type: SwitchParameter
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type: Switchparametr
aliasy: cf
pozycja: Nazwa
Wartość domyślna: False
Akceptuj wejście potoku: false
Akceptuj znaki wieloznaczne: false
-poświadczenie

Uwaga

ten parametr nie jest obsługiwany przez żadnych dostawców zainstalowanych z PowerShell.To podszywaj się pod innego użytkownika lub podnoś swoje poświadczenia podczas uruchamiania tego polecenia cmdlet, użyj polecenia Invoke-Command.

Type: PSCredential
Position: Named
Default value: None
Accept pipeline input: True
Accept wildcard characters: False
-Encoding

Specifies the type of encoding for the target file. The default value is utf8NoBOM.

Encoding is a dynamic parameter that the FileSystem provider adds to the Add-Content cmdlet. Parametr ten działa tylko na dyskach systemu plików.

dopuszczalne wartości dla tego parametru są następujące:

  • ascii: używa kodowania dla ASCII (7-bitowego) zestawu znaków.
  • bigendianunicode: koduje w formacie UTF-16 przy użyciu kolejności bajtów big-endian.
  • bigendianutf32: koduje w formacie UTF-32 przy użyciu kolejności bajtów big-endian.
  • oem: używa domyślnego kodowania dla programów MS-DOS i konsoli.
  • unicode : Koduje w formacie UTF-16 przy użyciu kolejności bajtów little-endian.
  • utf7: koduje w formacie UTF-7.
  • utf8: koduje w formacie UTF-8.
  • utf8BOM: koduje w formacie UTF-8 ze znakiem kolejności bajtów (BOM)
  • utf8NoBOM: koduje w formacie UTF-8 bez znaku kolejności bajtów (BOM)
  • utf32: koduje w formacie UTF-32.

zaczynając od PowerShell 6.2, parametr kodowania pozwala również na numeryczne identyfikatory zarejestrowanych stron kodowych (jak -Encoding 1251) lub ciągi nazw zarejestrowanych stron kodowych (jak-Encoding "windows-1251"). Więcej informacji można znaleźć w dokumentacji.NET forEncoding.CodePage.

Uwaga

UTF-7* nie jest już zalecany do użycia. W PowerShell 7.1 jest napisane ostrzeżenie, jeśli określiszutf7 dla parametru kodowania.

Typ: kodowanie
akceptowane wartości: ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32
Position: Named
Default value: UTF8NoBOM
Accept pipeline input: False
Accept wildcard characters: False
-Exclude

Specifies, as a string array, an item or items that this cmdlet excludes in the operation. The valueof this parameter qualifies the Path parameter. Wprowadź element ścieżki lub wzór, taki jak *.txt. Dozwolone są znaki wieloznaczne. Parametr Exclude jest skuteczny tylko wtedy, gdy polecenie zawiera zawartość elementu, na przykład C:\Windows\*, gdzie znak wieloznaczny określa zawartość katalogu C:\Windows.

Typ: ciąg
pozycja: Nazwa
Wartość domyślna: brak
Akceptuj wejście rurociągu: false
Akceptuj znaki wieloznaczne: True

-Filtr

określa filtr kwalifikujący parametr ścieżki. FileSystemprovider jest jedynym zainstalowanym dostawcą PowerShell, który obsługuje korzystanie z filtrów. Możesz znaleźć składnię języka filtrowania systemu plików w about_Wildcards.Filtry są bardziej wydajne niż inne parametry, ponieważ dostawca stosuje je, gdy cmdlet pobiera obiekty, a nie gdy PowerShell filtruje obiekty po ich pobraniu.

Typ: String
pozycja: Nazwa
Wartość domyślna: brak
Akceptuj wejście potoku: False
Akceptuj znaki wieloznaczne: True
-wymusza

nadpisanie atrybutu Tylko do odczytu, co pozwala na dodanie zawartości do pliku tylko do odczytu. Na przykład,Force nadpisze atrybut Tylko do odczytu lub utworzy katalogi, aby ukończyć ścieżkę do pliku, ale nie będzie próbował zmienić praw do pliku.

Typ: SwitchParameter
pozycja: Nazwa
Wartość domyślna: brak
Akceptuj wejście potoku: False
Akceptuj znaki wieloznaczne: False
-include

określa jako tablicę łańcuchową element lub elementy, które ten cmdlet zawiera w operacji. Wartość tego parametru kwalifikuje parametr Path. Wprowadź element ścieżki lub wzorzec, taki jak "*.txt". Dozwolone są znaki wieloznaczne. Parametr Include jest skuteczny tylko wtedy, gdy polecenie zawiera zawartość elementu, na przykład C:\Windows\*, gdzie znak wieloznaczny określa zawartość katalogu C:\Windows.

Typ: ciąg
pozycja: Nazwa
Wartość domyślna: brak
Akceptuj wejście rurociągu: false
Akceptuj znaki wieloznaczne: True
-LiteralPath

określa ścieżkę do jednej lub więcej lokalizacji. Wartość LiteralPath jest używana dokładnie tak, jak została wpisana. Żadne znaki nie są interpretowane jako symbole wieloznaczne. Jeśli ścieżka zawiera znaki specjalne, załącz ją w pojedynczym cudzysłowie. Pojedyncze cudzysłowy mówią Powershellowi, aby nie interpretował żadnych znaków jak sekwencji ucieczki.

aby uzyskać więcej informacji, zobacz o_quoting_rules.

Typ: String
aliasy: PSPath, LP
pozycja: Nazwa
Wartość domyślna: brak
Akceptuj wejście potoku: True
Akceptuj znaki wieloznaczne: td false
-nonewline

oznacza, że ten cmdlet nie dodaje nowej linii ani powrotu karetki do zawartości.

reprezentacje łańcuchów wejściowych obiektów są łączone w celu utworzenia wyjścia. Pomiędzy wyjściowymi łańcuchami nie są wstawiane żadne spacje ani linie. Po ostatnim ciągu wyjściowym nie jest dodawany nowy wiersz.

Typ: parametr przełącznika
pozycja: Nazwa
Wartość domyślna: brak
Akceptuj wejście rurociągu: false
Akceptuj znaki wieloznaczne: false
-PassThru

zwraca obiekt reprezentujący dodaną zawartość. Domyślnie, ten cmdlet nie generuje żadnych danych wyjściowych.

Typ: Switchparametr
pozycja: Nazwa
Wartość domyślna: brak
Akceptuj wejście potoku: False
Akceptuj znaki wieloznaczne: false
-ścieżka

określa ścieżkę do elementów, które otrzymają dodatkową zawartość.Dozwolone są znaki wieloznaczne.Ścieżki muszą być ścieżkami do elementów, a nie do kontenerów.Na przykład musisz podać ścieżkę do jednego lub więcej plików, a nie ścieżkę do katalogu.Jeśli określisz wiele ścieżek, użyj przecinków, aby je oddzielić.

Typ: ciąg
pozycja: 0
Wartość domyślna: brak
Akceptuj wejście rurociągu: True
Akceptuj znaki wieloznaczne: true
-strumień

uwaga

ten parametr jest dostępny tylko w systemie Windows.

określa alternatywny strumień danych dla zawartości. Jeśli strumień nie istnieje, ten cmdlet tworzy. Znaki wieloznaczne nie są obsługiwane.

Stream jest dynamicznym parametrem, który dostawca systemu plików dodaje do Add-Content. Parametr ten działa tylko na dyskach systemu plików.

możesz użyć poleceniaAdd-Content, aby zmienić zawartość dowolnego alternatywnego strumienia danych, takiego jakZone.Identifier. Jednak nie zalecamy tego sposobu eliminacji kontroli bezpieczeństwa, które blokują pliki pobierane z Internetu. Jeśli potwierdzisz, że pobrany plik jest bezpieczny, użyj poleceniaUnblock-File.

This parameter was introduced in PowerShell 3.0.

Type: String
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-Value

Specifies the content to be added. Wpisz cytowany ciąg znaków, taki jak te dane są do użytku wewnętrznego, lub określ obiekt zawierający zawartość, taki jak obiekt DateTime, który generuje Get-Date.

nie można określić zawartości pliku wpisując jego ścieżkę, ponieważ ścieżka jest tylko łańcuchem znaków.Możesz użyć poleceniaGet-Content, aby pobrać zawartość i przekazać ją do parametru Value.

Typ: obiekt
pozycja: 1
Wartość domyślna: brak
Akceptuj wejście rurociągu: True
Accept wildcard characters: False
-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type: SwitchParameter
Aliases: wi
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: False

wejścia

System.Obiekt, System.Zarządzanie.Automatyzacja.PSCredential

możesz podać wartości, ścieżki lub poświadczenia doSet-Content.

wyjścia

brak lub System.String

Gdy używasz parametru PassThru, Add-Content generuje System.Obiekt String, który przedstawia zawartość. W przeciwnym razie, ten cmdlet nie generuje żadnych danych wyjściowych.

uwagi

  • podczas wprowadzania obiektu do Add-Content obiekt jest konwertowany na łańcuch znaków przed dodaniem go do elementu. Typ obiektu określa format ciągu znaków, ale format może być inny niż domyślne wyświetlanie obiektu. Aby sterować formatem łańcucha znaków, użyj parametrów formatowania tego cmdleta.
  • Możesz również odwołać się doAdd-Content poprzez wbudowany alias,ac. Aby uzyskać więcej informacji, zobaczabout_aliases.
  • polecenie poleceniaAdd-Content jest przeznaczone do pracy z danymi ujawnionymi przez dowolnego dostawcę. Aby wyświetlić listę programów dostępnych w twojej sesji, wpisz Get-PSProvider. Aby uzyskać więcej informacji, zobaczabout_providers.
  • o_aliases
  • o_providers
  • Clear-Content
  • Get-Content
  • Get-Item
  • New-Item
  • Set-Content

Related Posts

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *