Crea un nuovo elemento.
- Sintassi
- Descrizione
- Esempi
- Esempio 1: creare un file nella directory corrente
- Esempio 2: Creare una directory
- Esempio 3: Crea un profilo
- Esempio 4: Creare una directory in un’altra directory
- Esempio 5: creare file multipli
- Esempio 6: Usa i caratteri jolly per creare file in più directory
- Esempio 7: Creare un collegamento simbolico a un file o una cartella
- Esempio 8: Utilizzare il parametro -Force per tentare di ricreare le cartelle
- Esempio 9: Usa il parametro -Force per sovrascrivere file esistenti
- Parametri
- Inputs
- Outputs
- Note
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-Object
per 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
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 |
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 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 |
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 |
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 |
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 |
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 |
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