Powershell Access to the path denied
I'm sure this has been asked a million times, but I can't figure out why I can't run this simple command in powershell:
PS> new-item -path c:\users\me\desktop\testfolder -name (get-date).txt -value (get-date).toString() -itemtype file
I am forever getting the following error:
New-Item : Access to the path 'C:\Users\Me\desktop\testfolder' is denied.
... PermissionDenied: ... UnauthorizedAccessException
... FullyQualifiedErrorId: NewItemUnauthorizedAccessError,Microsoft.PowerShell...
Anyway,
I've tried ALL of the following, to no avail:
- Running powershell as Administrator (i.e, "Run as Administrator")
- Set-ExecutionPolicy RemoteSigned
- "takeown" on the folder
- setting the security settings on the folder to: "everyone > full control"
- -FORCE
Where the heck should I go hunting for an answer next? I'm an administrator on my local machine. This is extremely frustrating not to have rights to do something as simple as creating a stupid text file...
Pulling hair-out...
Solution 1:
The the DateTime string format returned by Get-Date
contains characters that can't be used for file names. Try something like this:
new-item -path .\desktop\testfolder -name "$(get-date -format 'yyyyMMdd_HHmm').txt" `
-value (get-date).toString() -itemtype file
Just change the format string to meet your needs.
Solution 2:
The issue is that -name (get-date).txt
is not the same as (get-date) + ".txt"
. The former will try to read a property named "txt" on the returned System.DateTime
object, and the latter will append the string ".txt" to a string representation of the date. In the former, .txt as a property returns $null
because it does not exist. This, in turn, means you're trying to effectively run new-item -path .\desktop\folder
which returns access denied because folder already exists.