New-Item
Crea un elemento nuevo.
Sintaxis
New-Item
[-Path] <String[]>
[-ItemType <String>]
[-Value <Object>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-Item
[[-Path] <String[]>]
-Name <String>
[-ItemType <String>]
[-Value <Object>]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-Item
[-Path] <string[]>
-ConnectionURI <uri>
[-ItemType <string>]
[-Value <Object>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-OptionSet <hashtable>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <string>]
[-SessionOption <SessionOption>]
[-Port <int>]
[<CommonParameters>]
New-Item
[[-Path] <string[]>]
-Name <string>
[-ItemType <string>]
[-Value <Object>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-OptionSet <hashtable>]
[-Authentication <AuthenticationMechanism>]
[-CertificateThumbprint <string>]
[-SessionOption <SessionOption>]
[-ApplicationName <string>]
[-Port <int>]
[-UseSSL]
[<CommonParameters>]
New-Item
[-Path] <string[]>
[-ItemType <string>]
[-Value <Object>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Options <ScopedItemOptions>]
[<CommonParameters>]
New-Item
[[-Path] <string[]>]
-Name <string>
[-ItemType <string>]
[-Value <Object>]
[-Force]
[-Credential <pscredential>]
[-WhatIf]
[-Confirm]
[-Options <ScopedItemOptions>]
[<CommonParameters>]
Description
El New-Item
cmdlet crea un nuevo elemento y establece su valor. Los tipos de elementos que se pueden crear dependen de la ubicación del elemento. Por ejemplo, en el sistema de archivos, New-Item
crea archivos y carpetas. En el Registro, New-Item
crea claves y entradas del Registro.
New-Item
también puede establecer el valor de los elementos que crea. Por ejemplo, cuando crea un nuevo archivo, New-Item
puede agregar contenido inicial al archivo.
Ejemplos
Ejemplo 1: Crear un archivo en el directorio actual
Este comando crea un archivo de texto denominado "testfile1.txt" en el directorio actual. El punto ('.') en el valor del parámetro Path indica el directorio actual. El texto entre comillas que sigue al parámetro Value se agrega al archivo como contenido.
New-Item -Path . -Name "testfile1.txt" -ItemType "file" -Value "This is a text string."
Ejemplo 2: Creación de un directorio
Este comando crea un directorio denominado "Logfiles" en la C:
unidad. El parámetro ItemType especifica que el nuevo elemento es un directorio, no un archivo u otro objeto del sistema de archivos.
New-Item -Path "c:\" -Name "logfiles" -ItemType "directory"
Ejemplo 3: Crear un perfil
Este comando crea un perfil de PowerShell en la ruta de acceso especificada por la $profile
variable .
Puede usar perfiles para personalizar PowerShell. $profile
es una variable automática (integrada) que almacena la ruta de acceso y el nombre de archivo del perfil "CurrentUser/CurrentHost". De forma predeterminada, el perfil no existe, aunque PowerShell almacene una ruta de acceso y un nombre de archivo para él.
En este comando, la $profile
variable representa la ruta de acceso del archivo. El parámetro ItemType especifica que el comando crea un archivo. El parámetro Force permite crear un archivo en la ruta de acceso del perfil, incluso cuando los directorios de la ruta de acceso no existen.
Después de crear un perfil, puede escribir alias, funciones y scripts en el perfil para personalizar el shell.
Para obtener más información, consulte about_Automatic_Variables y about_Profiles.
New-Item -Path $profile -ItemType "file" -Force
Ejemplo 4: Creación de un directorio en otro directorio
En este ejemplo se crea un nuevo directorio Scripts en el directorio "C:\PS-Test".
El nombre del nuevo elemento de directorio, "Scripts", se incluye en el valor del parámetro Path , en lugar de especificarse en el valor de Name. Como indica la sintaxis, cualquier formato de comando es válido.
New-Item -ItemType "directory" -Path "c:\ps-test\scripts"
Ejemplo 5: Crear varios archivos
En este ejemplo se crean archivos en dos directorios diferentes. Dado que Path toma varias cadenas, puede usarla para crear varios elementos.
New-Item -ItemType "file" -Path "c:\ps-test\test.txt", "c:\ps-test\Logs\test.log"
Ejemplo 6: Uso de caracteres comodín para crear archivos en varios directorios
El New-Item
cmdlet admite caracteres comodín en el parámetro Path . El comando siguiente crea un temp.txt
archivo en todos los directorios especificados por los caracteres comodín en el parámetro Path .
Get-ChildItem -Path C:\Temp\
Directory: C:\Temp
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 5/15/2019 6:45 AM 1 One
d----- 5/15/2019 6:45 AM 1 Two
d----- 5/15/2019 6:45 AM 1 Three
New-Item -Path C:\Temp\* -Name temp.txt -ItemType File | Select-Object FullName
FullName
--------
C:\Temp\One\temp.txt
C:\Temp\Three\temp.txt
C:\Temp\Two\temp.txt
El Get-ChildItem
cmdlet muestra tres directorios en el C:\Temp
directorio . Con caracteres comodín, el New-Item
cmdlet crea un temp.txt
archivo en todos los directorios del directorio actual. El New-Item
cmdlet genera los elementos creados, que se canalizan para Select-Object
comprobar las rutas de acceso de los archivos recién creados.
Ejemplo 7: Crear un vínculo simbólico a un archivo o carpeta
En este ejemplo se crea un vínculo simbólico al archivo Notice.txt en la carpeta actual.
$link = New-Item -ItemType SymbolicLink -Path .\link -Target .\Notice.txt
$link | Select-Object LinkType, Target
LinkType Target
-------- ------
SymbolicLink {.\Notice.txt}
En este ejemplo, Target es un alias para el parámetro Value . El destino del vínculo simbólico puede ser una ruta de acceso relativa. Antes de PowerShell v6.2, el destino debe ser una ruta de acceso completa.
A partir de PowerShell 7.1, ahora puede crear en un Vínculo simbólico a una carpeta de Windows mediante una ruta de acceso relativa.
Ejemplo 8: Usar el parámetro -Force para intentar volver a crear carpetas
En este ejemplo se crea una carpeta con un archivo dentro. A continuación, intenta crear la misma carpeta mediante -Force
. No sobrescribirá la carpeta, sino simplemente devolverá el objeto de carpeta existente con el archivo creado intacto.
PS> New-Item -Path .\TestFolder -ItemType Directory
PS> New-Item -Path .\TestFolder\TestFile.txt -ItemType File
PS> New-Item -Path .\TestFolder -ItemType Directory -Force
Directory: C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 5/1/2020 8:03 AM TestFolder
PS> Get-ChildItem .\TestFolder\
Directory: C:\TestFolder
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/1/2020 8:03 AM 0 TestFile.txt
Ejemplo 9: Uso del parámetro -Force para sobrescribir los archivos existentes
En este ejemplo se crea un archivo con un valor y, a continuación, se vuelve a crear el archivo mediante -Force
. Esto sobrescribe el archivo existente, como puede ver mediante la propiedad length.
PS> New-Item ./TestFile.txt -ItemType File -Value 'This is just a test file'
Directory: C:\Source\Test
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/1/2020 8:32 AM 24 TestFile.txt
New-Item ./TestFile.txt -ItemType File -Force
Directory: C:\Source\Test
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 5/1/2020 8:32 AM 0 TestFile.txt
Nota:
Cuando se usa New-Item
con el modificador para crear claves del -Force
Registro, el comando se comportará igual que al sobrescribir un archivo. Si la clave del Registro ya existe, la clave y todas las propiedades y valores se sobrescribirán con una clave del Registro vacía.
Parámetros
-ApplicationName
Este es un parámetro dinámico que el proveedor WSMan pone a disposición. El proveedor WSMan y este parámetro solo están disponibles en Windows.
Especifica el nombre de la aplicación en la conexión. El valor predeterminado del parámetro ApplicationName es WSMAN.
Para obtener más información, consulte New-WSManInstance.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Authentication
Este es un parámetro dinámico que el proveedor WSMan pone a disposición. El proveedor WSMan y este parámetro solo están disponibles en Windows.
Especifica el mecanismo de autenticación que se va a usar en el servidor.
Para obtener más información, consulte New-WSManInstance.
Tipo: | AuthenticationMechanism |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-CertificateThumbprint
Este es un parámetro dinámico que el proveedor WSMan pone a disposición. El proveedor WSMan y este parámetro solo están disponibles en Windows.
Especifica el certificado de clave pública digital (X509) de una cuenta de usuario que tiene permiso para realizar esta acción de WSMan. Escriba la huella digital del certificado.
Para obtener más información, consulte New-WSManInstance.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Confirm
Le solicita su confirmación antes de ejecutar el cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-ConnectionURI
Este es un parámetro dinámico que el proveedor WSMan pone a disposición. El proveedor WSMan y este parámetro solo están disponibles en Windows.
Especifica el punto de conexión de WSMan.
Para obtener más información, consulte New-WSManInstance.
Tipo: | Uri |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Credential
Nota:
Este parámetro no es compatible con ningún proveedor instalado con PowerShell. Para suplantar a otro usuario o elevar sus credenciales al ejecutar este cmdlet, use Invoke-Command
.
Tipo: | PSCredential |
Posición: | Named |
Valor predeterminado: | Current user |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Force
Obliga a este cmdlet a crear un elemento que escribe en un elemento de solo lectura existente. La implementación varía en función del proveedor. Incluso con el parámetro Force , el cmdlet no puede invalidar las restricciones de seguridad.
A partir de PowerShell 7.4, este parámetro también permite sobrescribir una unión existente. Anteriormente, esto produciría un error "no se puede quitar porque no está vacío".
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-ItemType
Especifica el tipo especificado por el proveedor del elemento nuevo. Los valores disponibles de este parámetro dependen del proveedor actual que use.
Si la ubicación está en una FileSystem
unidad, se permiten los siguientes valores:
File
Directory
SymbolicLink
Junction
HardLink
Nota:
La creación de un SymbolicLink
tipo en Windows requiere elevación como administrador. Sin embargo, Windows 10 (compilación 14972 o posterior) con el modo de desarrollador habilitado ya no requiere la creación de vínculos simbólicos de elevación.
En una Certificate
unidad, estos son los valores que puede especificar:
Certificate Provider
Certificate
Store
StoreLocation
Para obtener más información, consulte about_Providers.
Tipo: | String |
Alias: | Type |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Name
Especifica el nombre del nuevo elemento. Puede especificar el nombre del nuevo elemento en el valor de parámetro Name o Path , y puede especificar la ruta de acceso del nuevo elemento en nombre o valor de ruta de acceso . Los nombres de elementos pasados mediante el parámetro Name se crean en relación con el valor del parámetro Path .
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Options
Se trata de un parámetro dinámico que el proveedor alias pone a disposición. Para obtener más información, vea New-Alias.
Especifica el valor de la propiedad Options de un alias.
Los valores válidos son:
None
: el alias no tiene restricciones (valor predeterminado)ReadOnly
: el alias se puede eliminar, pero no se puede cambiar sin usar el parámetro Force .Constant
: el alias no se puede eliminar ni cambiar.Private
: el alias solo está disponible en el ámbito actual.AllScope
: el alias se copia en todos los ámbitos nuevos que se crean.Unspecified
: la opción no se especifica.
Tipo: | ScopedItemOptions |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-OptionSet
Este es un parámetro dinámico que el proveedor WSMan pone a disposición. El proveedor WSMan y este parámetro solo están disponibles en Windows.
Pasa un conjunto de modificadores a un servicio para modificar o refinar la naturaleza de la solicitud.
Para obtener más información, consulte New-WSManInstance.
Tipo: | Hashtable |
Alias: | OS |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Path
Especifica la ruta de acceso de la ubicación del nuevo elemento. El valor predeterminado es la ubicación actual cuando se omite Path . Puede especificar el nombre del nuevo elemento en Nombre o incluirlo en Ruta de acceso. Los nombres de elementos pasados mediante el parámetro Name se crean en relación con el valor del parámetro Path .
Para este cmdlet, el parámetro Path funciona como el parámetro LiteralPath de otros cmdlets.
Los caracteres comodín no se interpretan. Todos los caracteres se pasan al proveedor de la ubicación. Es posible que el proveedor no admita todos los caracteres. Por ejemplo, no puede crear un nombre de archivo que contenga un carácter asterisco (*
).
Tipo: | String[] |
Posición: | 0 |
Valor predeterminado: | Current location |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Port
Este es un parámetro dinámico que el proveedor WSMan pone a disposición. El proveedor WSMan y este parámetro solo están disponibles en Windows.
Especifica el puerto que se utilizará cuando el cliente se conecte al servicio WinRM.
Para obtener más información, consulte New-WSManInstance.
Tipo: | Int32 |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-SessionOption
Este es un parámetro dinámico que el proveedor WSMan pone a disposición. El proveedor WSMan y este parámetro solo están disponibles en Windows.
Define un conjunto de opciones ampliadas para la sesión de WS-Management.
Para obtener más información, consulte New-WSManInstance.
Tipo: | SessionOption |
Alias: | SO |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-UseSSL
Este es un parámetro dinámico que el proveedor WSMan pone a disposición. El proveedor WSMan y este parámetro solo están disponibles en Windows.
Especifica que debe utilizarse el protocolo de capa de sockets seguros (SSL) para establecer una conexión con equipo remoto. De forma predeterminada, no se usa SSL.
Para obtener más información, consulte New-WSManInstance.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Value
Especifica el valor del nuevo elemento. También puede canalizar un valor a New-Item
.
Tipo: | Object |
Alias: | Target |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-WhatIf
Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.
Tipo: | SwitchParameter |
Alias: | wi |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Entradas
Puede canalizar un valor para el nuevo elemento a este cmdlet.
Salidas
El cmdlet devuelve un objeto DictionaryEntry al crear una nueva variable de entorno.
El cmdlet devuelve un objeto DirectoryInfo al crear un nuevo directorio en el sistema de archivos.
El cmdlet devuelve un objeto FileInfo al crear un nuevo archivo en el sistema de archivos.
El cmdlet devuelve un objeto AliasInfo al crear un nuevo alias.
El cmdlet devuelve un objeto FunctionInfo al crear una nueva función.
El cmdlet devuelve un objeto PSVariable al crear una nueva variable.
Notas
PowerShell incluye los siguientes alias para New-Item
:
- Todas las plataformas:
ni
New-Item
está diseñado para trabajar con los datos expuestos por cualquier proveedor. Para enumerar los proveedores disponibles en la sesión, escriba Get-PsProvider
. Para obtener más información, consulte about_Providers.