Aggiunge contenuto agli elementi specificati, ad esempio l’aggiunta di parole a un file.
- Sintassi
- Descrizione
- Esempi
- Esempio 1: Aggiungere una stringa a tutti i file di testo con un’eccezione
- Esempio 2: Aggiungi una data alla fine dei file specificati
- Esempio 3: Aggiungere il contenuto di un file specificato a un altro file
- Esempio 4: Aggiungere il contenuto di un file specificato a un altro file utilizzando la pipeline
- Esempio 5: Creare un nuovo file e copiare il contenuto
- Esempio 6: Aggiungere contenuto a un file di sola lettura
- Esempio 7: Utilizzare filtri con Contenuto aggiuntivo
- Parametri
- Ingressi
- Uscite
- Note
Sintassi
Add-Content <string> <Object> >] >]
Add-Content <Object> -LiteralPath <string> >] >]
Descrizione
Il cmdlet Add-Content
aggiunge il contenuto a un elemento o file specificato. È possibile specificare il contenutomettendo il contenuto nel comando o specificando un oggetto che contiene il contenuto.
Se è necessario creare file o directory per i seguenti esempi, vedere New-Item.
Esempi
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 loro nome di file.
Add-Content -Path .\*.txt -Exclude help* -Value 'End of file'
Il parametro Path specifica tutti i file.txt
nella directory corrente, ma Excludeparameter ignora i nomi dei file che corrispondono al modello specificato. Il parametro Value specifica la stringa di testo che viene scritta nei file.
Esempio 2: Aggiungi una data alla fine dei file specificati
Questo esempio aggiunge la data ai file nella directory corrente e visualizza la data nella console PowerShell.
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
Il cmdletAdd-Content
crea due nuovi file nella directory corrente. Il parametro Value containsthe output del cmdletGet-Date
. Il parametro PassThru restituisce i contenuti aggiunti alla pipeline.Poiché non ci sono altri cmdlet per ricevere l’output, viene visualizzato nella console PowerShell.Il cmdletGet-Content
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 memorizza il contenuto in una variabile. La variabile viene utilizzata per aggiungere il contenuto in un altro file.
$From = Get-Content -Path .\CopyFromFile.txtAdd-Content -Path .\CopyToFile.txt -Value $FromGet-Content -Path .\CopyToFile.txt
- Il cmdlet
Get-Content
ottiene il contenuto diCopyFromFile.txt
e memorizza il contenuto nella variabile$From
. - Il cmdlet
Add-Content
aggiorna il fileCopyToFile.txt
utilizzando il contenuto della variabile$From
. - Il cmdlet
Get-Content
visualizza il file di testo.txt.
Esempio 4: Aggiungere il contenuto di un file specificato a un altro file utilizzando la pipeline
Questo esempio ottiene il contenuto da un file e lo indirizza al cmdletAdd-Content
.
Get-Content -Path .\CopyFromFile.txt | Add-Content -Path .\CopyToFile.txtGet-Content -Path .\CopyToFile.txt
Il cmdletGet-Content
ottiene il contenuto diCopyFromFile.txt
. I risultati vengono reindirizzati al cmdletAdd-Content
, che aggiorna ilCopyToFile.txt
.L’ultimo cmdletGet-Content
visualizzaCopyToFile.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 cmdlet
Add-Content
utilizza i parametri Path e Value per creare un nuovo file nella directory corrente. - Il cmdlet
Get-Content
ottiene il contenuto di un file esistente,CopyFromFile.txt
e lo passa al parametro Value. Le parentesi attorno al cmdletGet-Content
assicurano che il comando finisca prima dell’inizio del comandoAdd-Content
. - Il cmdlet
Get-Content
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 IsReadOnly file è impostato su True.I passaggi per creare un file di sola lettura sono inclusi nell’esempio.
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
- Il cmdlet
New-Item
utilizza i parametri Path e ItemType per creare il fileIsReadOnlyTextFile.txt
nella directory corrente. - Il cmdlet
Set-ItemProperty
utilizza i parametri Nome e Valore per modificare la proprietà Isreadonly del file su True. - Il cmdlet
Get-ChildItem
mostra che il file è vuoto (0) e ha l’attributo di sola lettura (r
). - Il cmdlet
Add-Content
utilizza 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 cmdlet
Get-Content
utilizza il parametro Path per visualizzare il contenuto del file.
Per rimuovere l’attributo di sola lettura, utilizzare il comando Set-ItemProperty
con il parametro Valore impostato su False
.
Esempio 7: Utilizzare filtri con Contenuto aggiuntivo
È possibile specificare un filtro nel cmdletAdd-Content
. Quando si utilizzano i filtri per qualificare il Pathparameter, è necessario includere un asterisco finale (*
) per indicare il contenuto delpath.
Il seguente comando aggiunge la parola “Done” al contenuto di tutti i file *.txt
nella directory C:\Temp
.
Add-Content -Path C:\Temp\* -Filter *.txt -Value "Done"
Parametri
Specifica che il contenuto deve essere letto come un flusso di byte. Questo parametro è stato introdotto inPowerShell 6.0.
Si verifica un avviso quando si utilizza il parametro AsByteStream con il parametro Encoding. 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 |
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Alias: | cf |
Posizione: | Nome |
valore Predefinito: | False |
Accettare l’input della pipeline: | False |
Accetta i caratteri jolly: | False |
Nota
Questo parametro non è supportato da qualsiasi provider installati con PowerShell.Di impersonare un altro utente, o di elevare le credenziali quando si esegue il cmdlet,utilizzare Richiamare il Comando.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
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. Thisparameter funziona solo nelle unità del file system.
I valori accettabili per questo parametro sono i seguenti:
-
ascii
: Utilizza la codifica per il set di caratteri ASCII (7-bit). -
bigendianunicode
: Codifica in formato UTF-16 utilizzando l’ordine dei byte big-endian. -
bigendianutf32
: Codifica in formato UTF-32 utilizzando l’ordine dei byte big-endian. -
oem
: Utilizza la codifica predefinita per i programmi MS-DOS e console. -
unicode
: Codifica in formato UTF-16 utilizzando l’ordine dei byte little-endian. -
utf7
: Codifica in formato UTF-7. -
utf8
: Codifica in formato UTF-8. -
utf8BOM
: Codifica in formato UTF-8 con BOM (Byte Order Mark) -
utf8NoBOM
: Codifica in formato UTF-8 senza BOM (Byte Order Mark) -
utf32
: Codifica in UTF-32 formato.
A partire da PowerShell 6.2, il parametro di codifica consente anche ID numerici di codepages registrati (come -Encoding 1251
) o nomi di stringhe di code page registrati (come-Encoding "windows-1251"
). Per ulteriori informazioni, consultare la documentazione. NET perEncoding.CodePage.
Nota
UTF-7* non è più raccomandato per l’uso. In PowerShell 7.1, viene scritto un avviso se si specifica utf7
per il parametro di codifica.
Tipo: | Codifica |
Valori accettati: | ASCII, BigEndianUnicode, BigEndianUTF32, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32 |
Position: | Named |
Default value: | UTF8NoBOM |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies, as a string array, an item or items that this cmdlet excludes in the operation. The valueof this parameter qualifies the Path parameter. Immettere un elemento o un modello di percorso, ad esempio *.txt
. I caratteri jolly sono consentiti. Il parametro Exclude è efficace solo quando il comando include il contenuto di un elemento, ad esempio C:\Windows\*
, dove il carattere jolly specifica il contenuto della directory C:\Windows
.
Tipo: | String |
Posizione: | Nome |
valore Predefinito: | Nessuno |
Accettare l’input della pipeline: | False |
Accetta i caratteri jolly: | True |
Specifica un filtro per qualificare il parametro Path. FileSystemprovider è l’unico provider PowerShell installato che supporta l’uso di filtri. È possibile trovare la sintassi per il FileSystem filter language in about_Wildcards.I filtri sono più efficienti di altri parametri, perché il provider li applica quando il cmdletgets gli oggetti piuttosto che avere PowerShell filtrare gli oggetti dopo che sono stati recuperati.
Tipo: | Stringa |
Posizione: | Nome |
valore Predefinito: | Nessuno |
Accettare input: | False |
Accetta i caratteri jolly: | True |
Sostituisce l’attributo di sola lettura, che consente di aggiungere il contenuto di un file di sola lettura. Ad esempio, Force sovrascriverà l’attributo di sola lettura o creerà directory per completare un percorso di file, ma non tenterà di modificare le autorizzazioni dei file.
Tipo: | SwitchParameter |
Posizione: | Nome |
valore Predefinito: | Nessuno |
Accettare input: | False |
Accetta i caratteri jolly: | False |
Specifica, come una matrice di stringhe, un elemento o gli elementi che questo cmdlet include nell’operazione. Il valore di questo parametro qualifica il parametro Path. Immettere un elemento o un motivo percorso, ad esempio "*.txt"
. I caratteri jolly sono consentiti. Il parametro Include è efficace solo quando il comando include il contenuto di un elemento, ad esempio C:\Windows\*
, dove il carattere jolly specifica il contenuto della directory C:\Windows
.
Tipo: | String |
Posizione: | Nome |
valore Predefinito: | Nessuno |
Accettare l’input della pipeline: | False |
Accetta i caratteri jolly: | True |
Specifica un percorso per una o più posizioni. Il valore di LiteralPath viene utilizzato esattamente come è tipizzato. Nessun carattere viene interpretato come caratteri jolly. Se il percorso include caratteri di escape, racchiudilo tra virgolette singole. Le virgolette singole indicano a PowerShell di non interpretare alcun carattere come sequenze di escape.
Per ulteriori informazioni, vedere about_Quoting_Rules.
Tipo: | Stringa |
Alias: | PSPath, LP |
Posizione: | Nome |
valore Predefinito: | Nessuno |
Accettare l’input della pipeline: | True |
Accetta i caratteri jolly: | False |
Indica che questo cmdlet non aggiungere una nuova riga o ritorno a capo per il contenuto.
Le rappresentazioni di stringhe degli oggetti di input sono concatenate per formare l’output. Non vengono inseriti spazi o righe di testo tra le stringhe di output. Nessuna nuova riga viene aggiunta dopo l’ultima stringa di output.
Tipo: | SwitchParameter |
Posizione: | Nome |
valore Predefinito: | Nessuno |
Accettare l’input della pipeline: | False |
Accetta i caratteri jolly: | False |
Restituisce un oggetto che rappresenta il contenuto aggiunto. Per impostazione predefinita, questo cmdlet non genera anyoutput.
Tipo: | SwitchParameter |
Posizione: | Nome |
valore Predefinito: | Nessuno |
Accettare l’input della pipeline: | False |
Accetta i caratteri jolly: | False |
Specifica il percorso per gli elementi che venga visualizzato il contenuto aggiuntivo.I caratteri jolly sono consentiti.I percorsi devono essere percorsi agli elementi, non ai contenitori.Ad esempio, è necessario specificare un percorso di uno o più file, non un percorso di una directory.Se si specificano più percorsi, utilizzare le virgole per separare i percorsi.
Tipo: | String |
Posizione: | 0 |
valore Predefinito: | Nessuno |
Accettare l’input della pipeline: | True |
Accetta i caratteri jolly: | True |
Nota
Questo Parametro è disponibile solo su Windows.
Specifica un flusso di dati alternativo per il contenuto. Se il flusso non esiste, questo cmdlet createsit. I caratteri jolly non sono supportati.
Stream è un parametro dinamico che il provider del FileSystem aggiunge a Add-Content
. Thisparameter funziona solo nelle unità del file system.
È possibile utilizzare il cmdlet Add-Content
per modificare il contenuto di qualsiasi flusso alternatedata, ad esempio Zone.Identifier
. Tuttavia, non raccomandiamo questo modo per eliminare i controlli di sicurezza che bloccano i file scaricati da Internet. Se si verifica che un file scaricato sia sicuro, utilizzare il cmdletUnblock-File
.
This parameter was introduced in PowerShell 3.0.
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Specifies the content to be added. Digitare una stringa tra virgolette, ad esempio i dati sono solo per uso interno, oppure specificare un oggetto che contiene contenuto, ad esempio l’oggetto DateTime generato da Get-Date
.
Non è possibile specificare il contenuto di un file digitandone il percorso, poiché il percorso è solo una stringa.È possibile utilizzare un comandoGet-Content
per ottenere il contenuto e passarlo al parametro Value.
Tipo: | Oggetto |
Posizione: | 1 |
valore Predefinito: | Nessuno |
Accettare l’input della pipeline: | True |
Accept wildcard characters: | False |
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 |
Ingressi
Sistema.Oggetto, Sistema.Gestione.Automazione.PSCredential
È possibile convogliare valori, percorsi o credenziali aSet-Content
.
Uscite
Nessuna o Sistema.String
Quando si utilizza il parametro PassThru,Add-Content
genera un sistema.Oggetto Stringa che rappresenta il contenuto. In caso contrario, questo cmdlet non genera alcun output.
Note
- Quando si pipe un oggetto a
Add-Content
, l’oggetto viene convertito in una stringa prima di essere aggiunto all’elemento. Il tipo di oggetto determina il formato stringa, ma il formato potrebbe essere diverso dalla visualizzazione predefinita dell’oggetto. Per controllare il formato della stringa, utilizzare i parametri di formattazione delcommdlet di invio. - Puoi anche fare riferimento a
Add-Content
dal suo alias incorporato,ac
. Per ulteriori informazioni, vedere About_aliases. - Il cmdlet
Add-Content
è progettato per funzionare con i dati esposti da qualsiasi provider. Per elencare i fornitori disponibili nella sessione, digitareGet-PSProvider
. Per ulteriori informazioni, vedere About_providers.
- about_Aliases
- about_Providers
- Clear-Content
- Get-Content
- Get-Item
- New-Item
- Set-Content