Add-Content

Modulo: Microsoft.PowerShell.Gestione

Aggiunge contenuto agli elementi specificati, ad esempio l’aggiunta di parole a un file.

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 cmdletGet-Contentottiene il contenuto diCopyFromFile.txte memorizza il contenuto nella variabile$From.
  • Il cmdletAdd-Contentaggiorna il fileCopyToFile.txtutilizzando il contenuto della variabile$From.
  • Il cmdletGet-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-Contentottiene 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 cmdletAdd-Content utilizza i parametri Path e Value per creare un nuovo file nella directory corrente.
  • Il cmdletGet-Contentottiene 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 cmdletGet-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 cmdletNew-Itemutilizza i parametri Path e ItemType per creare il fileIsReadOnlyTextFile.txt nella directory corrente.
  • Il cmdletSet-ItemProperty utilizza i parametri Nome e Valore per modificare la proprietà Isreadonly del file su True.
  • Il cmdletGet-ChildItemmostra che il file è vuoto (0) e ha l’attributo di sola lettura (r).
  • Il cmdletAdd-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 cmdletGet-Content utilizza il parametro Path per visualizzare il contenuto del file.

Per rimuovere l’attributo di sola lettura, utilizzare il comando Set-ItemPropertycon 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

-AsByteStream

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
-Confirm

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
-Credential

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
-Encoding

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

-Exclude

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
-Filter

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
Forza

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
Include

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
-LiteralPath

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

-NoNewline

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
-PassThru

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
Percorso

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
Streaming

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
-Value

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
-WhatIf

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 aAdd-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 aAdd-Content dal suo alias incorporato,ac. Per ulteriori informazioni, vedere About_aliases.
  • Il cmdletAdd-Content è progettato per funzionare con i dati esposti da qualsiasi provider. Per elencare i fornitori disponibili nella sessione, digitare Get-PSProvider. Per ulteriori informazioni, vedere About_providers.
  • about_Aliases
  • about_Providers
  • Clear-Content
  • Get-Content
  • Get-Item
  • New-Item
  • Set-Content

Related Posts

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *