Estoy seguro de que esto se ha pedido un millón de veces, pero no puedo entender por qué no puedo ejecutar este comando simple en powershell:
PS> new-item -path c:\users\me\desktop\testfolder -name (get-date).txt -value (get-date).toString() -itemtype file
Siempre recibo el siguiente error:
New-Item : Access to the path 'C:\Users\Me\desktop\testfolder' is denied.
... PermissionDenied: ... UnauthorizedAccessException
... FullyQualifiedErrorId: NewItemUnauthorizedAccessError,Microsoft.PowerShell...
De todas formas,
He intentado TODO lo siguiente, sin éxito:
- Ejecución de powershell como administrador (es decir, "Ejecutar como administrador")
- Set-ExecutionPolicy RemoteSigned
- "takeown" en la carpeta
- establecer la configuración de seguridad en la carpeta para: "todos> control total"
- -FUERZA
¿Dónde diablos debería ir buscando una respuesta a continuación? Soy administrador en mi máquina local. Esto es extremadamente frustrante por no tener derechos para hacer algo tan simple como crear un archivo de texto estúpido ...
Tirando del pelo ...
Respuestas:
El formato de cadena DateTime devuelto por
Get-Date
contiene caracteres que no se pueden usar para los nombres de archivo. Intenta algo como esto:Simplemente cambie la cadena de formato para satisfacer sus necesidades.
fuente
El problema es que
-name (get-date).txt
no es lo mismo que(get-date) + ".txt"
. El primero intentará leer una propiedad llamada "txt" en elSystem.DateTime
objeto devuelto , y el segundo agregará la cadena ".txt" a una representación de cadena de la fecha. En el primero, .txt como propiedad devuelve$null
porque no existe. Esto, a su vez, significa que está intentando ejecutar efectivamente lonew-item -path .\desktop\folder
que devuelve el acceso denegado porque la carpeta ya existe.fuente