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. È possibile specificare il contenuto digitandolo nel comando o specificando un oggetto che lo contiene.
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 Add-Content
cmdlet usa il parametro Path per specificare tutti i file .txt nella directory corrente. 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
Il Add-Content
cmdlet usa i parametri Path e Value per creare due nuovi file nella directory corrente. Il parametro Value consente di specificare il Get-Date
cmdlet per ottenere la data e passare la data a Add-Content
. Il Add-Content
cmdlet scrive la data in ogni file. Il parametro PassThru passa un oggetto che rappresenta l'oggetto date. Poiché non è disponibile alcun altro cmdlet per ricevere l'oggetto passato, 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
In questo esempio il contenuto viene ottenuto da un file e lo aggiunge a un altro file.
Add-Content -Path .\CopyToFile.txt -Value (Get-Content -Path .\CopyFromFile.txt)
Get-Content -Path .\CopyToFile.txt
Il Add-Content
cmdlet usa il parametro Path per specificare il nuovo file nella directory corrente CopyToFile.txt. Il parametro Value usa il Get-Content
cmdlet per ottenere il contenuto del file CopyFromFile.txt. Le parentesi intorno al Get-Content
cmdlet assicurano che il comando venga completato prima dell'inizio del Add-Content
comando. Il parametro Value viene passato a Add-Content
. Il Add-Content
cmdlet aggiunge i dati al file CopyToFile.txt. Il Get-Content
cmdlet visualizza il file aggiornato CopyToFile.txt.
Esempio 4: Usare una variabile per 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 di CopyFromFile.txt e archivia il contenuto nella $From
variabile. Il Add-Content
cmdlet usa il parametro Path per specificare il file CopyToFile.txt nella directory corrente. Il parametro Value usa la $From
variabile e passa il contenuto a Add-Content
. Il Add-Content
cmdlet aggiorna il file CopyToFile.txt. Il Get-Content
cmdlet visualizza CopyToFile.txt.
Esempio 5: Create un nuovo file e copiare il contenuto
In questo esempio viene creato un nuovo file e viene copiato 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 parametro Value usa il Get-Content
cmdlet per ottenere il contenuto di un file esistente CopyFromFile.txt. Le parentesi intorno al Get-Content
cmdlet assicurano che il comando venga completato prima dell'inizio del Add-Content
comando. Il parametro Value passa il contenuto a Add-Content
cui aggiorna il file NewFile.txt. 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 il 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 file IsReadOnlyTextFile.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 la conferma dell'utente 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
Specifica un account utente che dispone delle autorizzazioni per eseguire questa azione. Il valore predefinito è l'utente corrente.
Digitare un nome utente, ad esempio User01 o Domain01\User01, oppure immettere un oggetto PSCredential , ad esempio uno generato dal Get-Credential
cmdlet. Se si digita un nome utente, viene richiesta una password.
Avviso
Questo parametro non è supportato da alcun provider installato con PowerShell.
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.
- Predefinito Usa la codifica corrispondente alla tabella codici attiva del sistema (in genere ANSI).
- OEM Usa la codifica corrispondente alla tabella codici OEM corrente del sistema.
- Stringa Uguale a Unicode.
- Unicode Usa UTF-16 con l'ordine dei byte little-endian.
- Sconosciuto 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
Omette gli elementi specificati. Il valore di questo parametro qualifica il parametro Path. Immettere un elemento o un criterio di percorso, ad esempio *.txt. I caratteri jolly sono consentiti.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Filter
Specifica un filtro nel formato o nel linguaggio del provider. Il valore di questo parametro qualifica il parametro Path. La sintassi del filtro, incluso l'uso dei caratteri jolly, dipende dal provider. I filtri sono più efficienti rispetto ad altri parametri perché il provider applica filtri quando vengono recuperati gli oggetti. In caso contrario, PowerShell elabora i filtri dopo il recupero degli oggetti.
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 eseguirà l'override dell'attributo di sola lettura o creerà le directory per completare un percorso di file, ma non tenterà di modificare le autorizzazioni file.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Include
Aggiunge solo gli elementi specificati. Il valore di questo parametro qualifica il parametro Path. Immettere un elemento o un criterio di percorso, ad esempio *.txt. I caratteri jolly sono consentiti.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-LiteralPath
Specifica il percorso degli elementi che riceveranno il contenuto aggiuntivo. A differenza di quanto accade con Path, il valore di LiteralPath viene usato esattamente com'è 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.
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 un 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, il 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. 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 del flusso di dati alternativo Zone.Identifier . Tuttavia, non è consigliabile farlo come un 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 l'esito in caso di 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
System.Object, System.Management.Automation.PSCredential
È possibile inviare tramite pipe valori, percorsi o credenziali a Set-Content
.
Output
None or System.String
Quando si utilizza il parametro PassThru , Add-Content
genera un oggetto System.String che rappresenta il contenuto. In caso contrario, il cmdlet non genera alcun output.
Note
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.
È anche possibile fare riferimento al Add-Content
relativo alias predefinito, ac
. Per altre informazioni, vedere about_Aliases.
Il Add-Content
cmdlet è progettato per lavorare con i dati esposti da qualsiasi provider. Per elencare i provider disponibili nella sessione, digitare Get-PSProvider
. Per altre informazioni, vedere about_Providers.