Condividi tramite


Add-Content

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

Sintassi

Path (Impostazione predefinita)

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

LiteralPath

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 cmdlet Add-Content aggiunge contenuto a un elemento o a un file specificato. Il contenuto può essere passato dalla pipeline o specificato usando il parametro valore.

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 Percorso specifica tutti i file .txt nella directory corrente, ma il parametro Exclude ignora i nomi di file che corrispondono al criterio specificato. Il parametro Valore 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 cmdlet Add-Content crea due nuovi file nella directory corrente. Il parametro Value contiene l'output del cmdlet Get-Date. 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 cmdlet Get-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 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 cmdlet Get-Content ottiene il contenuto di CopyFromFile.txt e archivia il contenuto nella variabile $From.
  • Il cmdlet Add-Content aggiorna il file CopyToFile.txt usando il contenuto della variabile $From.
  • Il cmdlet Get-Content 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 cmdlet Add-Content.

Get-Content -Path .\CopyFromFile.txt | Add-Content -Path .\CopyToFile.txt
Get-Content -Path .\CopyToFile.txt

Il cmdlet Get-Content ottiene il contenuto di CopyFromFile.txt. I risultati vengono inviati tramite pipe al cmdlet Add-Content, che aggiorna l'CopyToFile.txt. L'ultimo cmdlet Get-Content 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 cmdlet Add-Content usa 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 intorno al cmdlet Get-Content assicurano che il comando venga completato prima dell'inizio del comando Add-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 è 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 cmdlet New-Item usa i parametri Path e ItemType per creare il file IsReadOnlyTextFile.txt nella directory corrente.
  • Il cmdlet Set-ItemProperty usa i parametri Name e Value 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 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 cmdlet Get-Content usa il parametro Path per visualizzare il contenuto del file.

Per rimuovere l'attributo di sola lettura, usare il comando Set-ItemProperty con il parametro Valore impostato su False.

Parametri

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:cfr

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Credential

Annotazioni

Questo parametro non è supportato da alcun provider installato con PowerShell. Per rappresentare un altro utente o elevare le credenziali quando si esegue questo cmdlet, usare Invoke-Command.

Proprietà dei parametri

Tipo:PSCredential
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti: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 corrispondente 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 utilizza UTF-32 con l'ordine dei byte in formato little-endian.

La codifica è un parametro dinamico aggiunto dal provider FileSystem al cmdlet Add-Content. Questo parametro funziona solo nelle unità del sistema di file.

Proprietà dei parametri

Tipo:FileSystemCmdletProviderEncoding
Valore predefinito:Default
Valori accettati:ASCII, BigEndianUnicode, BigEndianUTF32, Byte, Default, OEM, String, Unicode, Unknown, UTF7, UTF8, UTF32
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Exclude

Specifica, come array di stringhe, uno o più elementi che questo cmdlet esclude durante l'operazione. Il valore di questo parametro qualifica il parametro Path. Immettere un elemento o un modello di percorso, ad esempio *.txt. Sono consentiti caratteri jolly. Il parametro Exclude è valido solo quando il comando include il contenuto di un elemento, ad esempio C:\Windows\*, nel quale il carattere jolly specifica il contenuto della directory C:\Windows.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:True
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Filter

Specifica un filtro per qualificare il parametro Path. Il provider di FileSystem è l'unico provider di PowerShell installato che supporta l'utilizzo dei filtri. È possibile trovare la sintassi del 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.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:True
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Force

Esegue l'override dell'attributo di sola lettura, consentendo di aggiungere contenuto 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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Include

Specifica, sotto forma di matrice di stringhe, un elemento o elementi che questo cmdlet include nell'operazione. Il valore di questo parametro qualifica il parametro Path. Immettere un elemento o un modello di percorso, ad esempio "*.txt". Sono consentiti caratteri jolly. 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.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:True
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-LiteralPath

Specifica un percorso per una o più posizioni. Il valore di LiteralPath viene usato esattamente come viene digitato. Nessun carattere viene interpretato come metacaratteri. 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 altre informazioni, vedere about_Quoting_Rules.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:PSPath

Set di parametri

LiteralPath
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-NoNewline

Indica che questo cmdlet non aggiunge una nuova riga o un ritorno del carrello 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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-PassThru

Restituisce un oggetto che rappresenta il contenuto aggiunto. Per impostazione predefinita, questo cmdlet non genera alcun output.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Path

Specifica il percorso degli elementi che ricevono il contenuto aggiuntivo. Sono consentiti caratteri jolly. I percorsi devono essere percorsi per gli elementi, non per i contenitori. Ad esempio, è necessario specificare un percorso per uno o più file, non un percorso di una directory. Se si specificano più percorsi, usare le virgole per separare i percorsi.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:True
DontShow:False

Set di parametri

Path
Posizione:0
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-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à del sistema di file.

È possibile usare il cmdlet Add-Content 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 cmdlet Unblock-File.

Questo parametro è stato introdotto in PowerShell 3.0.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-UseTransaction

Include il comando nella transazione attiva. Questo parametro è valido solo quando è in corso una transazione. Per altre informazioni, vedere about_Transactions.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:usetx

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Value

Specifica il contenuto da aggiungere. Digitare una stringa tra virgolette, ad esempio Questi dati sono destinati all'uso interno solooppure specificare un oggetto contenente contenuto, ad esempio l'oggetto DateTime generato da Get-Date.

Non è possibile specificare il contenuto di un file digitandone il percorso, perché il percorso è solo una stringa. È possibile usare un comando Get-Content per ottenere il contenuto e passarlo al parametro Value.

Proprietà dei parametri

Tipo:

Object[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:1
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:Wi

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

Object

È possibile inviare tramite pipe i valori a Add-Content.

PSCredential

È possibile inviare tramite pipe le credenziali a Add-Content.

Output

None

Per impostazione predefinita, questo cmdlet non restituisce alcun output.

String

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 stringa, ma il formato potrebbe essere diverso dalla visualizzazione predefinita dell'oggetto. Per controllare il formato della stringa, usare i parametri di formattazione del cmdlet di invio.

  • Il cmdlet Add-Content è progettato per lavorare con i dati esposti da qualsiasi provider. Per elencare i provider disponibili nella sessione, digitare Get-PSProvider. Per altre informazioni, consultare about_Providers.