Add-Content
Aggiunge contenuto agli elementi specificati, ad esempio aggiungendo parole a un file.
Sintassi
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>]
Descrizione
Il Add-Content
cmdlet aggiunge contenuto a un elemento o a un file specificato. Il contenuto può essere passato dalla pipeline o specificato usando il parametro Value .
Se è necessario creare file o directory per gli esempi seguenti, vedere New-Item.
Esempio
Esempio 1: Aggiungere una stringa a tutti i file di testo con un'eccezione
Questo esempio aggiunge un valore ai file di testo nella directory corrente, ma esclude i file in base al nome del file.
Add-Content -Path .\*.txt -Exclude help* -Value 'End of file'
Il parametro Path specifica tutti i .txt
file nella directory corrente, ma il parametro Exclude ignora i nomi di file che corrispondono al modello specificato. Il parametro Value specifica la stringa di testo scritta nei file.
Usare Get-Content per visualizzare il contenuto di questi file.
Esempio 2: Aggiungere una data alla fine dei file specificati
Questo esempio aggiunge la data ai file nella directory corrente e visualizza la data nella console di 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
Il Add-Content
cmdlet crea due nuovi file nella directory corrente. Il parametro Value contiene l'output del Get-Date
cmdlet. Il parametro PassThru restituisce il contenuto aggiunto alla pipeline. Poiché non esiste alcun altro cmdlet per ricevere l'output, viene visualizzato nella console di PowerShell. Il Get-Content
cmdlet visualizza il file aggiornato, DateTimeFile1.log
.
Esempio 3: Aggiungere il contenuto di un file specificato a un altro file
Questo esempio ottiene il contenuto da un file e archivia il contenuto in una variabile. La variabile viene usata per aggiungere il contenuto in un altro file.
$From = Get-Content -Path .\CopyFromFile.txt
Add-Content -Path .\CopyToFile.txt -Value $From
Get-Content -Path .\CopyToFile.txt
- Il
Get-Content
cmdlet ottiene il contenuto diCopyFromFile.txt
e archivia il contenuto nella$From
variabile . - Il
Add-Content
cmdlet aggiorna ilCopyToFile.txt
file usando il contenuto della$From
variabile. - Il
Get-Content
cmdlet visualizza CopyToFile.txt.
Esempio 4: Aggiungere il contenuto di un file specificato a un altro file usando la pipeline
Questo esempio ottiene il contenuto da un file e lo invia tramite pipe al Add-Content
cmdlet .
Get-Content -Path .\CopyFromFile.txt | Add-Content -Path .\CopyToFile.txt
Get-Content -Path .\CopyToFile.txt
Il Get-Content
cmdlet ottiene il contenuto di CopyFromFile.txt
. I risultati vengono inviati tramite pipe al Add-Content
cmdlet , che aggiorna .CopyToFile.txt
L'ultimo Get-Content
cmdlet visualizza CopyToFile.txt
.
Esempio 5: Creare un nuovo file e copiare il contenuto
Questo esempio crea un nuovo file e copia il contenuto di un file esistente nel nuovo file.
Add-Content -Path .\NewFile.txt -Value (Get-Content -Path .\CopyFromFile.txt)
Get-Content -Path .\NewFile.txt
- Il
Add-Content
cmdlet usa i parametri Path e Value per creare un nuovo file nella directory corrente. - Il
Get-Content
cmdlet ottiene il contenuto di un fileCopyFromFile.txt
esistente e lo passa al parametro Value . Le parentesi intorno alGet-Content
cmdlet assicurano che il comando venga completato prima dell'inizio delAdd-Content
comando. - Il
Get-Content
cmdlet visualizza il contenuto del nuovo file,NewFile.txt
.
Esempio 6: Aggiungere contenuto a un file di sola lettura
Questo comando aggiunge un valore al file anche se l'attributo del file IsReadOnly è impostato su True. I passaggi per creare un file di sola lettura sono inclusi nell'esempio.
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
- Il
New-Item
cmdlet usa i parametri Path e ItemType per creare il fileIsReadOnlyTextFile.txt
nella directory corrente. - Il
Set-ItemProperty
cmdlet usa i parametri Name e Value per modificare la proprietà IsReadOnly del file su True. - Il
Get-ChildItem
cmdlet mostra che il file è vuoto (0
) e ha l'attributo di sola lettura (r
). - Il
Add-Content
cmdlet usa il parametro Path per specificare il file. Il parametro Value include la stringa di testo da aggiungere al file. Il parametro Force scrive il testo nel file di sola lettura. - Il
Get-Content
cmdlet usa il parametro Path per visualizzare il contenuto del file.
Per rimuovere l'attributo di sola lettura, usare il Set-ItemProperty
comando con il parametro Value impostato su False
.
Parametri
-Confirm
Richiede conferma prima di eseguire il cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Nota
Questo parametro non è supportato da alcun provider installato con PowerShell. Per rappresentare un altro utente o elevare le credenziali durante l'esecuzione di questo cmdlet, usare Invoke-Command.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Encoding
Specifica il tipo di codifica per il file di destinazione. Il valore predefinito è Default
.
I valori accettabili per questo parametro sono i seguenti:
Ascii
Usa il set di caratteri ASCII (a 7 bit).BigEndianUnicode
Usa UTF-16 con l'ordine dei byte big-endian.BigEndianUTF32
Usa UTF-32 con l'ordine dei byte big-endian.Byte
Codifica un set di caratteri in una sequenza di byte.Default
Usa la codifica che corrisponde alla tabella codici attiva del sistema (in genere ANSI).Oem
Usa la codifica corrispondente alla tabella codici OEM corrente del sistema.String
Uguale a Unicode.Unicode
Usa UTF-16 con l'ordine dei byte little-endian.Unknown
Uguale a Unicode.UTF7
Usa UTF-7.UTF8
Usa UTF-8.UTF32
Usa UTF-32 con l'ordine dei byte little-endian.
La codifica è un parametro dinamico aggiunto dal provider FileSystem al Add-Content
cmdlet . Questo parametro funziona solo nelle unità di file system.
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
Specifica, come matrice di stringhe, un elemento o elementi esclusi dal cmdlet nell'operazione. Il valore di questo parametro qualifica il parametro Path . Immettere un elemento o un modello di percorso, ad esempio *.txt
. I caratteri jolly sono consentiti. Il parametro Exclude è effettivo solo quando il comando include il contenuto di un elemento, ad esempio C:\Windows\*
, dove il carattere jolly specifica il contenuto della C:\Windows
directory.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Filter
Specifica un filtro per qualificare il parametro Path . Il provider FileSystem è l'unico provider di PowerShell installato che supporta l'uso dei filtri. È possibile trovare la sintassi per il linguaggio di filtro FileSystem in about_Wildcards. I filtri sono più efficienti rispetto ad altri parametri, perché il provider li applica quando il cmdlet ottiene gli oggetti anziché filtrare gli oggetti dopo il recupero.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Force
Esegue l'override dell'attributo di sola lettura, consentendo di aggiungere contenuti a un file di sola lettura. Ad esempio, Force esegue l'override dell'attributo di sola lettura, ma non modifica le autorizzazioni per i file.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Include
Specifica, come matrice di stringhe, un elemento o elementi inclusi nel cmdlet nell'operazione. Il valore di questo parametro qualifica il parametro Path . Immettere un elemento o un modello di percorso, ad esempio "*.txt"
. I caratteri jolly sono consentiti. Il parametro Include è effettivo solo quando il comando include il contenuto di un elemento, ad esempio C:\Windows\*
, dove il carattere jolly specifica il contenuto della C:\Windows
directory.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-LiteralPath
Specifica un percorso di una o più posizioni. Il valore di LiteralPath viene usato esattamente come viene digitato. Nessun carattere viene interpretato come carattere jolly. Se il percorso include caratteri di escape, racchiuderlo tra virgolette singole. Le virgolette singole indicano a PowerShell di non interpretare alcun carattere come sequenze di escape.
Per altre informazioni, vedere about_Quoting_Rules.
Type: | String[] |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NoNewline
Indica che questo cmdlet non aggiunge una nuova riga o ritorno a capo al contenuto.
Le rappresentazioni di stringa degli oggetti di input vengono concatenate per formare l'output. Non vengono inseriti spazi o nuove righe tra le stringhe di output. Nessuna nuova riga viene aggiunta dopo l'ultima stringa di output.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-PassThru
Restituisce un oggetto che rappresenta il contenuto aggiunto. Per impostazione predefinita, questo cmdlet non genera alcun output.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Specifica il percorso degli elementi che riceveranno il contenuto aggiuntivo. I caratteri jolly sono consentiti. È necessario usare percorsi di elementi, non di contenitori. Ad esempio, è necessario specificare un percorso di uno o più file, non di una directory. Se si specificano più percorsi, separarli con la virgola.
Type: | String[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | True |
-Stream
Specifica un flusso di dati alternativo per il contenuto. Se il flusso non esiste, questo cmdlet lo crea. I caratteri jolly non sono supportati.
Stream è un parametro dinamico aggiunto dal provider FileSystem a Add-Content
. Questo parametro funziona solo nelle unità di file system.
È possibile usare il Add-Content
cmdlet per modificare il contenuto di qualsiasi flusso di dati alternativo, ad esempio Zone.Identifier
. Tuttavia, non è consigliabile farlo come modo per eliminare i controlli di sicurezza che bloccano i file scaricati da Internet. Se si verifica che un file scaricato sia sicuro, usare il Unblock-File
cmdlet .
Questo parametro è stato introdotto in PowerShell 3.0.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-UseTransaction
Include il comando nella transazione attiva. Questo parametro è valido solo quando è in corso una transazione. Per altre informazioni, vedere about_Transactions.
Type: | SwitchParameter |
Aliases: | usetx |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Value
Specifica il contenuto da aggiungere. Digitare una stringa tra virgolette, ad esempio Questi dati sono solo per uso interno o specificare un oggetto che contiene contenuto, ad esempio l'oggetto DateTime generato Get-Date
.
Non è possibile specificare il contenuto di un file digitandone il percorso, perché il percorso è solo una stringa.
È possibile usare un Get-Content
comando per ottenere il contenuto e passarlo al parametro Value .
Type: | Object[] |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
È possibile inviare tramite pipe i valori a Add-Content
.
È possibile inviare tramite pipe le credenziali a Add-Content
.
Output
None
Per impostazione predefinita, questo cmdlet non restituisce alcun output.
Quando si utilizza il parametro PassThru , questo cmdlet restituisce un oggetto System.String che rappresenta il contenuto.
Note
Windows PowerShell include gli alias seguenti per Add-Content
:
ac
Quando si invia tramite pipe un oggetto a
Add-Content
, l'oggetto viene convertito in una stringa prima che venga aggiunto all'elemento. Il tipo di oggetto determina il formato della stringa che però può essere diverso rispetto alla visualizzazione predefinita dell'oggetto. Per controllare il formato della stringa, usare i parametri di formattazione del cmdlet di origine.Il
Add-Content
cmdlet è progettato per lavorare con i dati esposti da qualsiasi provider. Per elencare i provider disponibili nella sessione, digitareGet-PSProvider
. Per altre informazioni, vedere about_Providers.