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]
[-NoNewline]
[-Encoding <Encoding>]
[-AsByteStream]
[-Stream <string>]
[<CommonParameters>]
Add-Content
[-Value] <Object[]>
-LiteralPath <string[]>
[-PassThru]
[-Filter <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-NoNewline]
[-Encoding <Encoding>]
[-AsByteStream]
[-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 chcesz utworzyć pliki lub katalogi w poniższych przykładach, 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
Ten przykład pobiera zawartość 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 Add-Content
do polecenia cmdlet, które aktualizuje element CopyToFile.txt
.
Get-Content
Ostatnie polecenie cmdlet wyświetla polecenie CopyToFile.txt
cmdlet .
Przykład 5: Twórca nowy plik 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ść do utworzenia nowego pliku 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 pliku .NewFile.txt
Przykład 6. Dodawanie zawartości do pliku tylko do odczytu
To polecenie dodaje wartość do pliku, nawet jeśli atrybut isReadOnly jest ustawiony na True. Kroki tworzenia pliku tylko do odczytu zostały uwzględnione 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 wartość False
.
Przykład 7. Używanie filtrów z Add-Content
Możesz określić filtr polecenia Add-Content
cmdlet. W przypadku używania filtrów w celu zakwalifikowania parametru Ścieżka należy uwzględnić końcową gwiazdkę (*
), aby wskazać zawartość ścieżki.
Następujące polecenie dodaje wyraz "Done" (Gotowe) zawartości wszystkich *.txt
plików w C:\Temp
katalogu.
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 w programie PowerShell 6.0.
Ostrzeżenie występuje, gdy używasz parametru AsByteStream z parametrem Kodowanie . Parametr AsByteStream ignoruje wszelkie kodowanie, a dane wyjściowe są zwracane jako strumień bajtów.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-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 za pomocą programu 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. Wartość domyślna to utf8NoBOM
.
Kodowanie jest parametrem dynamicznym dodawanym przez dostawcę Add-Content
systemu plików do polecenia cmdlet . Ten parametr działa tylko na dyskach systemu plików.
Dopuszczalne wartości tego parametru są następujące:
ascii
: używa kodowania dla zestawu znaków ASCII (7-bitowy).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 konsolowych.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 za pomocą znacznika kolejności bajtów (BOM)utf8NoBOM
: Koduje w formacie UTF-8 bez znaku kolejności bajtów (BOM)utf32
: koduje w formacie UTF-32.
Począwszy od programu PowerShell 6.2, parametr Kodowanie umożliwia również identyfikatory liczbowe zarejestrowanych stron kodowych (takich jak ) lub nazwy ciągów zarejestrowanych stron kodowych (na przykład -Encoding 1251
-Encoding "windows-1251"
). Aby uzyskać więcej informacji, zobacz dokumentację platformy .NET dotyczącą pliku Encoding.CodePage.
Uwaga
UtF-7* nie jest już zalecane do użycia. W programie PowerShell 7.1 ostrzeżenie jest zapisywane, jeśli określono utf7
parametr Kodowanie .
Type: | Encoding |
Accepted values: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
Position: | Named |
Default value: | UTF8NoBOM |
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 znaki pojedynczego cudzysłowu. Znaki pojedynczego 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, LP |
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. Żadne spacje ani nowe linie nie są wstawiane między ciągami wyjściowymi. Po ostatnim ciągu danych wyjściowych nie jest dodawany żaden nowy wiersz.
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 co najmniej jednego pliku, 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
Uwaga
Ten parametr jest dostępny tylko w systemie Windows.
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 jest parametrem dynamicznym dodawanym przez dostawcę systemu plików 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ń blokujących 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. W programie PowerShell 7.2 Add-Content
można kierować alternatywne strumienie danych zarówno do plików, jak i katalogów.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Value
Określa zawartość do dodania. Wpisz ciąg cytowany, taki jak Te dane tylko do użytku wewnętrznego, lub określ obiekt, który zawiera zawartość, na przykład 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 można przekazać potokowi do Add-Content
.
Możesz przekazać poświadczenia potokowe do .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 PowerShell zawiera następujące aliasy dla Add-Content
programu :
W systemie Windows:
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 różnić się od domyślnego wyświetlania 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.