New-Item

Modulo: Microsoft.PowerShell.Management

Crea un nuovo elemento.

Sintassi

New-Item <String> 
New-Item <String>] -Name <String> 

Descrizione

La New-Item cmdlet crea un nuovo elemento e ne imposta il valore. I tipi di elementi che possono essere creati dipendono dalla posizione dell’elemento. Per esempio, nel file system, New-Item crea file e cartelle. Nel registro, New-Item crea chiavi e voci di registro.

New-Item può anche impostare il valore degli elementi che crea. Per esempio, quando crea un newfile, New-Item può aggiungere il contenuto iniziale al file.

Esempi

Esempio 1: creare un file nella directory corrente

Questo comando crea un file di testo chiamato “testfile1.txt” nella directory corrente. Il punto(‘.’) nel valore del parametro Path indica la directory corrente. Il testo quotato che segue il parametro Value viene aggiunto al file come contenuto.

New-Item -Path . -Name "testfile1.txt" -ItemType "file" -Value "This is a text string."

Esempio 2: Creare una directory

Questo comando crea una directory chiamata “Logfiles” nell’unità C:. Il parametro ItemType specifica che il nuovo elemento è una directory, non un file o un altro oggetto del file system.

New-Item -Path "c:\" -Name "logfiles" -ItemType "directory"

Esempio 3: Crea un profilo

Questo comando crea un profilo PowerShell nel percorso specificato dalla variabile $profile.

È possibile utilizzare i profili per personalizzare PowerShell. $profile è una variabile automatica (incorporata) che memorizza il percorso e il nome del file del profilo “CurrentUser/CurrentHost”. Per default, il profilo non esiste, anche se PowerShell memorizza un percorso e un nome di file per esso.

In questo comando, la variabile $profile rappresenta il percorso del file. Il parametro ItemType specifica che il comando crea un file. Il parametro Force vi permette di creare un file nel percorso del profilo, anche quando le directory nel percorso non esistono.

Dopo aver creato un profilo, potete inserire alias, funzioni e script nel profilo per personalizzare la vostra shell.

Per maggiori informazioni, consultate about_Automatic_Variables e about_Profiles.

New-Item -Path $profile -ItemType "file" -Force

Esempio 4: Creare una directory in un’altra directory

Questo esempio crea una nuova directory Scripts nella directory “C:\PS-Test”.

Il nome della nuova directory, “Scripts”, è incluso nel valore del parametro Path, invece di essere specificato nel valore di Name. Come indicato dalla sintassi, entrambe le forme di comando sono valide.

New-Item -ItemType "directory" -Path "c:\ps-test\scripts"

Esempio 5: creare file multipli

Questo esempio crea file in due directory diverse. Poiché Path accetta più stringhe, puoi usarlo per creare più elementi.

New-Item -ItemType "file" -Path "c:\ps-test\test.txt", "c:\ps-test\Logs\test.log"

Esempio 6: Usa i caratteri jolly per creare file in più directory

La cmdlet New-Item supporta i caratteri jolly nel parametro Path. Il seguente comando crea un file temp.txt in tutte le directory specificate dai caratteri jolly nel parametro Path.

Get-ChildItem -Path C:\Temp\Directory: C:\TempMode LastWriteTime Length Name---- ------------- ------ ----d----- 5/15/2019 6:45 AM 1 Oned----- 5/15/2019 6:45 AM 1 Twod----- 5/15/2019 6:45 AM 1 ThreeNew-Item -Path * -Name temp.txt -ItemType File | Select-Object FullNameFullName--------C:\Temp\One\temp.txtC:\Temp\Three\temp.txtC:\Temp\Two\temp.txt

Il cmdlet Get-ChildItem mostra tre directory sotto la directory C:\Temp. Usando i caratteri jolly il New-Item cmdlet crea un file temp.txt in tutte le directory sotto la directory corrente. Il New-Item cmdlet produce gli elementi creati, che vengono trasmessi a Select-Objectper verificare i percorsi dei file appena creati.

Esempio 7: Creare un collegamento simbolico a un file o una cartella

Questo esempio crea un collegamento simbolico al file Notice.txt nella cartella corrente.

$link = New-Item -ItemType SymbolicLink -Path .\link -Target .\Notice.txt$link | Select-Object LinkType, TargetLinkType Target-------- ------SymbolicLink {.\Notice.txt}

In questo esempio, Target è un alias del parametro Value. La destinazione del collegamento simbolico può essere un percorso relativo. Prima di PowerShell v6.2, il target deve essere un percorso completamente qualificato.

A partire da PowerShell 7.1, è ora possibile creare un collegamento simbolico a una cartella su Windows utilizzando un percorso relativo.

Esempio 8: Utilizzare il parametro -Force per tentare di ricreare le cartelle

Questo esempio crea una cartella con un file all’interno. Poi, tenta di creare la stessa cartella usando-Force. Non sovrascriverà la cartella ma semplicemente restituirà l’oggetto cartella esistente con il file creato intatto.

PS> New-Item -Path .\TestFolder -ItemType DirectoryPS> New-Item -Path .\TestFolder\TestFile.txt -ItemType FilePS> New-Item -Path .\TestFolder -ItemType Directory -Force Directory: C:\Mode LastWriteTime Length Name---- ------------- ------ ----d----- 5/1/2020 8:03 AM TestFolderPS> Get-ChildItem .\TestFolder\ Directory: C:\TestFolderMode LastWriteTime Length Name---- ------------- ------ -----a---- 5/1/2020 8:03 AM 0 TestFile.txt

Esempio 9: Usa il parametro -Force per sovrascrivere file esistenti

Questo esempio crea un file con un valore e poi ricrea il file usando -Force. Questo sovrascrive il file esistente e perderà il suo contenuto come potete vedere dalla proprietà length

PS> New-Item ./TestFile.txt -ItemType File -Value 'This is just a test file' Directory: C:\Source\TestMode LastWriteTime Length Name---- ------------- ------ -----a---- 5/1/2020 8:32 AM 24 TestFile.txtNew-Item ./TestFile.txt -ItemType File -Force Directory: C:\Source\TestMode LastWriteTime Length Name---- ------------- ------ -----a---- 5/1/2020 8:32 AM 0 TestFile.txt

Nota

Quando si usa New-Item con l’interruttore -Force per creare chiavi di registro, il comando si comporterà come quando si sovrascrive un file. Se la chiave di registro esiste già, la chiave e tutte le proprietà e i valori saranno sovrascritti con una chiave di registro vuota.

Parametri

-Conferma

Vi chiede una conferma prima di eseguire il cmdlet.

Type: SwitchParameter
Alias: cf
Posizione: Nominato
Valore predefinito: Falso
Accetta ingresso pipeline: Falso
Accetta caratteri jolly: Falso
-Credenziale

Nota

Questo parametro non è supportato da nessun provider installato con PowerShell. Per impersonare un altro utente o elevare le tue credenziali quando esegui questa cmdlet, usa Invoke-Command.

Tipo: PSCredenziale
Posizione: Nominato
Valore predefinito: Utente corrente
Accetta ingresso pipeline: Vero
Accetta caratteri jolly: Falso
-Forza

Forza questo cmdlet a creare un elemento che scrive sopra un elemento esistente di sola lettura. L’implementazione varia da provider a provider. Anche usando il parametro Force, il cmdlet non può ignorare le restrizioni di sicurezza.

Tipo: SwitchParameter
Posizione: Nominato
Valore predefinito: Nessuno
Accetta ingresso pipeline: False
Accetta caratteri jolly: False
-ItemType

Specifica il tipo specificato dal provider del nuovo elemento. I valori disponibili di questo parametro dipendono dal provider corrente che stai usando.

Se la tua posizione è in un’unità FileSystem, sono permessi i seguenti valori:

  • File
  • Directory
  • SymbolicLink
  • Junction
  • HardLink

Note

Creare un tipo SymbolicLink su Windows richiede l’elevazione come amministratore. Tuttavia, Windows 10 (build 14972 o più recente) con la modalità sviluppatore abilitata non richiede più l’elevazione per creare symboliclinks.

In un’unità Certificate, questi sono i valori che puoi specificare:

  • Certificate Provider
  • Certificate
  • Store
  • StoreLocation

Per maggiori informazioni vedi about_Providers.

Type: Stringa
Alias: Type
Posizione: Nome
Valore predefinito: Nessuno
Accetta input pipeline: Vero
Accetta caratteri jolly: Falso
Nome

Specifica il nome del nuovo elemento. Puoi specificare il nome del nuovo elemento nel valore del parametro Name o Path, e puoi specificare il percorso del nuovo elemento in Name o Pathvalue. I nomi degli elementi passati con il parametro Name sono creati relativamente al valore del parametroPath.

Type: Stringa
Posizione: Nome
Valore predefinito: Nessuno
Accetta l’input della pipeline: Vero
Accetta caratteri jolly: Falso
-Path

Specifica il percorso della posizione del nuovo elemento. Il default è la posizione corrente quandoPath è omesso. Puoi specificare il nome del nuovo elemento in Name, o includerlo inPath. I nomi degli elementi passati usando il parametro Name sono creati relativamente al valore del parametroPath.

Per questa cmdlet, il parametro Path funziona come il parametro LiteralPath di altre cmdlet.I caratteri jolly non vengono interpretati. Tutti i caratteri vengono passati al fornitore del percorso. Il provider potrebbe non supportare tutti i caratteri. Per esempio, non è possibile creare un nome di file che contenga un carattereasterisco (*).

Tipo: Stringa
Posizione: 0
Valore predefinito: Località corrente
Accetta l’input della pipeline: Vero
Accetta caratteri jolly: Falso
-Valore

Specifica il valore del nuovo elemento. Si può anche inserire un valore in New-Item.

Type: Object
Alias: Target
Position: Named
Valore di default: Nessuno
Accetta input pipeline: Vero
Accetta caratteri jolly: Falso
-WhatIf

Mostra cosa accadrebbe se il cmdlet fosse eseguito.Il cmdlet non viene eseguito.

Type: SwitchParameter
Alias: wi
Posizione: Nominato
Valore predefinito: Falso
Accetta ingresso pipeline: Falso
Accetta caratteri jolly: Falso

Inputs

Object

Puoi inserire un valore per il nuovo elemento in questa cmdlet.

Outputs

Object

Questo cmdlet restituisce l’elemento che crea.

Note

New-Item è progettato per lavorare con i dati esposti da qualsiasi provider. Per elencare i provider disponibili nella tua sessione, digita Get-PsProvider. Per maggiori informazioni, vedi about_Providers.

  • Clear-Item
  • Copy-Item
  • Get-Item
  • Invoke-Item
  • Move-Item
  • Remove-Item
  • Rename-Item
  • Set-Item
  • about_Providers

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.