나는 이것이 백만 번 요청되었다고 확신하지만 powershell에서 이 간단한 명령을 실행할 수 없는 이유를 알 수 없습니다.
PS> new-item -path c:\users\me\desktop\testfolder -name (get-date).txt -value (get-date).toString() -itemtype file
나는 영원히 다음과 같은 오류가 발생합니다.
New-Item : Access to the path 'C:\Users\Me\desktop\testfolder' is denied.
... PermissionDenied: ... UnauthorizedAccessException
... FullyQualifiedErrorId: NewItemUnauthorizedAccessError,Microsoft.PowerShell...
그래도,
나는 다음을 모두 시도했지만 아무 소용이 없었습니다.
- 관리자 권한으로 powershell 실행(예: "관리자 권한으로 실행")
- Set-ExecutionPolicy RemoteSigned
- 폴더의 "takeown"
- 폴더의 보안 설정을 "모든 사람 > 모든 권한"으로 설정합니다.
- -힘
다음에는 도대체 어디로 답을 찾으러 가야 할까요? 저는 로컬 컴퓨터의 관리자입니다. 어리석은 텍스트 파일을 만드는 것처럼 간단한 일을 할 수 있는 권한이 없다는 것은 매우 실망스러운 일입니다...
머리카락 뽑는 중...
답변1
에서 반환된 DateTime 문자열 형식에는 Get-Date
파일 이름에 사용할 수 없는 문자가 포함되어 있습니다. 다음과 같이 시도해 보세요.
new-item -path .\desktop\testfolder -name "$(get-date -format 'yyyyMMdd_HHmm').txt" `
-value (get-date).toString() -itemtype file
필요에 맞게 형식 문자열을 변경하면 됩니다.
답변2
문제는 -name (get-date).txt
와 같지 않다는 것입니다 (get-date) + ".txt"
. 전자는 반환된 System.DateTime
개체에서 "txt"라는 속성을 읽으려고 시도하고 후자는 날짜의 문자열 표현에 ".txt" 문자열을 추가합니다. 전자의 경우 .txt가 $null
존재하지 않기 때문에 속성으로 반환됩니다 . 이는 new-item -path .\desktop\folder
폴더가 이미 존재하기 때문에 액세스 거부를 반환하는 효과적으로 실행을 시도하고 있음을 의미합니다 .
답변3
또한 읽기 전용 플래그로 인해 이 오류가 발생했습니다. 이 문제는 다음을 사용하여 해결할 수 있습니다.
Set-ItemProperty -Path c:\users\me\desktop\testfolder -Name IsReadOnly -Value $true