Saya yakin ini telah ditanyakan jutaan kali, tetapi saya tidak tahu mengapa saya tidak dapat menjalankan perintah sederhana ini di PowerShell:
PS> new-item -path c:\users\me\desktop\testfolder -name (get-date).txt -value (get-date).toString() -itemtype file
Saya selamanya mendapatkan kesalahan berikut:
New-Item : Access to the path 'C:\Users\Me\desktop\testfolder' is denied.
... PermissionDenied: ... UnauthorizedAccessException
... FullyQualifiedErrorId: NewItemUnauthorizedAccessError,Microsoft.PowerShell...
Bagaimanapun,
Saya sudah mencoba SEMUA dari yang berikut, tetapi tidak berhasil:
- Menjalankan PowerShell sebagai Administrator (mis., "Run as Administrator")
- Set-ExecutionPolicy RemoteSigned
- "takeown" pada folder
- mengatur pengaturan keamanan pada folder ke: "semua orang> kontrol penuh"
- -MEMAKSA
Di mana sih aku harus mencari jawaban selanjutnya? Saya seorang administrator di mesin lokal saya. Ini sangat menyebalkan karena tidak memiliki hak untuk melakukan sesuatu yang sederhana seperti membuat file teks bodoh ...
Menarik rambut ...
Jawaban:
Format string DateTime dikembalikan oleh
Get-Date
berisi karakter yang tidak dapat digunakan untuk nama file. Coba sesuatu seperti ini:Cukup ganti string format untuk memenuhi kebutuhan Anda.
sumber
Masalahnya adalah
-name (get-date).txt
tidak sama dengan(get-date) + ".txt"
. Yang pertama akan mencoba membaca properti bernama "txt" padaSystem.DateTime
objek yang dikembalikan , dan yang terakhir akan menambahkan string ".txt" ke representasi string dari tanggal. Di yang pertama, .txt sebagai properti kembali$null
karena tidak ada. Ini, pada gilirannya, berarti Anda mencoba menjalankan secara efektifnew-item -path .\desktop\folder
yang mengembalikan akses ditolak karena folder sudah ada.sumber