Add-Content
Dodaje zawartość do określonych elementów, takich jak dodawanie wyrazów do pliku.
Składnia
Add-Content
[-Path] <string[]>
[-Value] <Object[]>
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[-NoNewline]
[-Encoding <FileSystemCmdletProviderEncoding>]
[-Stream <string>]
[<CommonParameters>]
Add-Content
[-Value] <Object[]>
-LiteralPath <string[]>
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[-NoNewline]
[-Encoding <FileSystemCmdletProviderEncoding>]
[-Stream <string>]
[<CommonParameters>]
Opis
Polecenie Add-Content
cmdlet dołącza zawartość do określonego elementu lub pliku. Zawartość można przekazać z potoku lub określić za pomocą parametru Value .
Jeśli musisz utworzyć pliki lub katalogi dla następujących przykładów, zobacz New-Item (Nowy element).
Przykłady
Przykład 1. Dodawanie ciągu do wszystkich plików tekstowych z wyjątkiem
Ten przykład dołącza wartość do plików tekstowych w bieżącym katalogu, ale wyklucza pliki na podstawie ich nazwy pliku.
Add-Content -Path .\*.txt -Exclude help* -Value 'End of file'
Parametr Ścieżka określa wszystkie .txt
pliki w bieżącym katalogu, ale parametr Exclude ignoruje nazwy plików zgodne z określonym wzorcem. Parametr Value określa ciąg tekstowy zapisywany w plikach.
Użyj polecenia Get-Content , aby wyświetlić zawartość tych plików.
Przykład 2. Dodawanie daty 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 programu PowerShell.
Add-Content -Path .\DateTimeFile1.log, .\DateTimeFile2.log -Value (Get-Date) -PassThru
Get-Content -Path .\DateTimeFile1.log
Tuesday, May 14, 2019 8:24:27 AM
Tuesday, May 14, 2019 8:24:27 AM
5/14/2019 8:24:27 AM
Polecenie Add-Content
cmdlet tworzy dwa nowe pliki w bieżącym katalogu. Parametr Value zawiera dane wyjściowe Get-Date
polecenia cmdlet. Parametr PassThru zwraca dodaną zawartość do potoku. Ponieważ nie ma innego polecenia cmdlet do odbierania danych wyjściowych, jest on wyświetlany w konsoli programu PowerShell. Polecenie Get-Content
cmdlet wyświetla zaktualizowany plik . DateTimeFile1.log
Przykład 3. Dodawanie zawartości określonego pliku do innego pliku
W tym przykładzie zawartość jest pobierana z pliku i przechowuje zawartość w zmiennej. Zmienna jest używana do dołączania zawartości do innego pliku.
$From = Get-Content -Path .\CopyFromFile.txt
Add-Content -Path .\CopyToFile.txt -Value $From
Get-Content -Path .\CopyToFile.txt
- Polecenie
Get-Content
cmdlet pobiera zawartośćCopyFromFile.txt
i przechowuje zawartość w zmiennej$From
. - Polecenie
Add-Content
cmdlet aktualizujeCopyToFile.txt
plik przy użyciu zawartości zmiennej$From
. - Polecenie
Get-Content
cmdlet wyświetla CopyToFile.txt.
Przykład 4. Dodawanie zawartości określonego pliku do innego pliku przy użyciu potoku
W tym przykładzie zawartość jest pobierana z pliku i potokuje ją do Add-Content
polecenia cmdlet .
Get-Content -Path .\CopyFromFile.txt | Add-Content -Path .\CopyToFile.txt
Get-Content -Path .\CopyToFile.txt
Polecenie Get-Content
cmdlet pobiera zawartość elementu CopyFromFile.txt
. Wyniki są przesyłane potokami do Add-Content
polecenia cmdlet, które aktualizuje CopyToFile.txt
element .
Get-Content
Ostatnie polecenie cmdlet wyświetla CopyToFile.txt
polecenie .
Przykład 5. Tworzenie nowego pliku i kopiowanie zawartości
W tym przykładzie tworzony jest 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
Add-Content
cmdlet używa parametrów Ścieżka i Wartość , aby utworzyć nowy plik w bieżącym katalogu. - Polecenie
Get-Content
cmdlet pobiera zawartość istniejącego plikuCopyFromFile.txt
i przekazuje go do parametru Value . Nawiasy wokółGet-Content
polecenia cmdlet zapewniają, że polecenie zakończy się przed rozpoczęciemAdd-Content
polecenia. - Polecenie
Get-Content
cmdlet wyświetla zawartość nowego plikuNewFile.txt
.
Przykład 6. Dodawanie zawartości do pliku tylko do odczytu
To polecenie dodaje wartość do pliku, nawet jeśli atrybut pliku IsReadOnly ma ustawioną wartość True. Kroki tworzenia pliku tylko do odczytu znajdują się w przykładzie.
New-Item -Path .\IsReadOnlyTextFile.txt -ItemType File
Set-ItemProperty -Path .\IsReadOnlyTextFile.txt -Name IsReadOnly -Value $True
Get-ChildItem -Path .\IsReadOnlyTextFile.txt
Add-Content -Path .\IsReadOnlyTextFile.txt -Value 'Add value to read-only text file' -Force
Get-Content -Path .\IsReadOnlyTextFile.txt
Mode LastWriteTime Length Name
---- ------------- ------ ----
-ar-- 1/28/2019 13:35 0 IsReadOnlyTextFile.txt
- Polecenie
New-Item
cmdlet używa parametrów Path i ItemType do utworzenia plikuIsReadOnlyTextFile.txt
w bieżącym katalogu. - Polecenie
Set-ItemProperty
cmdlet używa parametrów Nazwa i Wartość, aby zmienić właściwość IsReadOnly pliku na True. - Polecenie
Get-ChildItem
cmdlet pokazuje, że plik jest pusty (0
) i ma atrybut tylko do odczytu (r
). - Polecenie
Add-Content
cmdlet używa parametru Path do określenia pliku. Parametr Value zawiera ciąg tekstowy do dołączenia do pliku. Parametr Force zapisuje tekst w pliku tylko do odczytu. - Polecenie
Get-Content
cmdlet używa parametru Path do wyświetlania zawartości pliku.
Aby usunąć atrybut tylko do odczytu, użyj Set-ItemProperty
polecenia z parametrem Value ustawionym na False
wartość .
Parametry
-Confirm
Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Uwaga
Ten parametr nie jest obsługiwany przez żadnych dostawców zainstalowanych w programie PowerShell. Aby personifikować innego użytkownika lub podnieść poziom poświadczeń podczas uruchamiania tego polecenia cmdlet, użyj polecenia Invoke-Command.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Encoding
Określa typ kodowania dla pliku docelowego. Domyślna wartość to Default
.
Dopuszczalne wartości tego parametru są następujące:
Ascii
Używa zestawu znaków ASCII (7-bitowego).BigEndianUnicode
Używa formatu UTF-16 z kolejnością bajtów big-endian.BigEndianUTF32
Używa formatu UTF-32 z kolejnością bajtów big-endian.Byte
Koduje zestaw znaków w sekwencji bajtów.Default
Używa kodowania odpowiadającego aktywnej stronie kodu systemu (zwykle ANSI).Oem
Używa kodowania odpowiadającego bieżącej stronie kodowej producenta OEM systemu.String
Tak samo jak Unicode.Unicode
Używa formatu UTF-16 z kolejnością bajtów little-endian.Unknown
Tak samo jak Unicode.UTF7
Używa protokołu UTF-7.UTF8
Używa protokołu UTF-8.UTF32
Używa formatu UTF-32 z kolejnością bajtów little-endian.
Kodowanie jest parametrem dynamicznym, który dostawca systemu plików dodaje do Add-Content
polecenia cmdlet . Ten parametr działa tylko na dyskach systemu plików.
Type: | FileSystemCmdletProviderEncoding |
Accepted values: | ASCII, BigEndianUnicode, BigEndianUTF32, Byte, Default, OEM, String, Unicode, Unknown, UTF7, UTF8, UTF32 |
Position: | Named |
Default value: | Default |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Exclude
Określa jako tablicę ciągów element lub elementy, które to polecenie cmdlet wyklucza w operacji. Wartość tego parametru kwalifikuje parametr Path . Wprowadź element ścieżki lub wzorzec, taki jak *.txt
. Dozwolone są symbole wieloznaczne. Parametr Exclude jest skuteczny tylko wtedy, gdy polecenie zawiera zawartość elementu, na przykład C:\Windows\*
, gdzie symbol wieloznaczny określa zawartość C:\Windows
katalogu.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Filter
Określa filtr, aby zakwalifikować parametr Ścieżka . Dostawca systemu plików jest jedynym zainstalowanym dostawcą programu PowerShell, który obsługuje korzystanie z filtrów. Składnię języka filtru Systemu plików można znaleźć w about_Wildcards. Filtry są bardziej wydajne niż inne parametry, ponieważ dostawca stosuje je, gdy polecenie cmdlet pobiera obiekty, zamiast filtrować obiekty programu PowerShell po ich pobraniu.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Force
Zastępuje atrybut tylko do odczytu, umożliwiając dodawanie zawartości do pliku tylko do odczytu. Na przykład wymuś zastąpienie atrybutu tylko do odczytu, ale nie zmienia uprawnień do pliku.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Include
Określa jako tablicę ciągów element lub elementy, które to polecenie cmdlet zawiera w operacji. Wartość tego parametru kwalifikuje parametr Path . Wprowadź element ścieżki lub wzorzec, taki jak "*.txt"
. Dozwolone są symbole wieloznaczne. Parametr Include jest skuteczny tylko wtedy, gdy polecenie zawiera zawartość elementu, na przykład C:\Windows\*
, gdzie symbol wieloznaczny określa zawartość C:\Windows
katalogu.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-LiteralPath
Określa ścieżkę do co najmniej jednej lokalizacji. Wartość LiterałuPath jest używana dokładnie tak, jak jest typowana. Znaki nie są interpretowane jako symbole wieloznaczne. Jeśli ścieżka zawiera znaki ucieczki, należy ująć ją w pojedynczy cudzysłów. Pojedyncze znaki cudzysłowu informują program PowerShell, aby nie interpretował żadnych znaków jako sekwencji ucieczki.
Aby uzyskać więcej informacji, zobacz about_Quoting_Rules.
Type: | String[] |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NoNewline
Wskazuje, że to polecenie cmdlet nie dodaje nowego wiersza ani powrotu karetki do zawartości.
Reprezentacje ciągów obiektów wejściowych są łączone w celu utworzenia danych wyjściowych. Między ciągami wyjściowymi nie są wstawione spacje ani nowe linie. Nie dodano nowego wiersza po ostatnim ciągu danych wyjściowych.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PassThru
Zwraca obiekt reprezentujący dodaną zawartość. Domyślnie to polecenie cmdlet nie generuje żadnych danych wyjściowych.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Określa ścieżkę do elementów, które otrzymują dodatkową zawartość. Dozwolone są symbole wieloznaczne. Ścieżki muszą być ścieżkami do elementów, a nie do kontenerów. Na przykład należy określić ścieżkę do jednego lub kilku plików, a nie ścieżkę do katalogu. Jeśli określisz wiele ścieżek, użyj przecinków, aby oddzielić ścieżki.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Stream
Określa alternatywny strumień danych dla zawartości. Jeśli strumień nie istnieje, to polecenie cmdlet go utworzy. Symbole wieloznaczne nie są obsługiwane.
Stream to parametr dynamiczny, który dostawca systemu plików dodaje do elementu Add-Content
. Ten parametr działa tylko na dyskach systemu plików.
Możesz użyć Add-Content
polecenia cmdlet , aby zmienić zawartość dowolnego alternatywnego strumienia danych, takiego jak Zone.Identifier
. Nie zalecamy jednak tego jako sposobu na wyeliminowanie kontroli zabezpieczeń, które blokują pliki pobierane z Internetu. Jeśli sprawdzisz, czy pobrany plik jest bezpieczny, użyj Unblock-File
polecenia cmdlet .
Ten parametr został wprowadzony w programie PowerShell 3.0.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseTransaction
Zawiera polecenie w aktywnej transakcji. Ten parametr jest prawidłowy tylko wtedy, gdy transakcja jest w toku. Aby uzyskać więcej informacji, zobacz about_Transactions.
Type: | SwitchParameter |
Aliases: | usetx |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Value
Określa zawartość do dodania. Wpisz ciąg cytowany, taki jak Te dane są przeznaczone tylko do użytku wewnętrznego, lub określ obiekt zawierający zawartość, taką jak obiekt DateTime , który Get-Date
generuje.
Nie można określić zawartości pliku, wpisując jego ścieżkę, ponieważ ścieżka jest tylko ciągiem.
Możesz użyć Get-Content
polecenia , aby pobrać zawartość i przekazać ją do parametru Value .
Type: | Object[] |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Pokazuje, co się stanie po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie jest uruchamiane.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Dane wejściowe
Wartości potoku można przekazać do Add-Content
elementu .
Możesz przekazać poświadczenia potokowe do pliku Add-Content
.
Dane wyjściowe
None
Domyślnie to polecenie cmdlet nie zwraca żadnych danych wyjściowych.
Jeśli używasz parametru PassThru , to polecenie cmdlet zwraca obiekt System.String reprezentujący zawartość.
Uwagi
Program Windows PowerShell zawiera następujące aliasy dla programu Add-Content
:
ac
Podczas potoku obiektu do
Add-Content
obiektu obiekt jest konwertowany na ciąg przed dodaniu go do elementu. Typ obiektu określa format ciągu, ale format może być inny niż domyślny ekran obiektu. Aby kontrolować format ciągu, użyj parametrów formatowania polecenia cmdlet wysyłającego.Polecenie
Add-Content
cmdlet jest przeznaczone do pracy z danymi udostępnianymi przez dowolnego dostawcę. Aby wyświetlić listę dostawców dostępnych w sesji, wpiszGet-PSProvider
. Aby uzyskać więcej informacji, zobacz about_Providers.