これは100万回も要求されていると思いますが、なぜこの簡単なコマンドを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...
とにかく、
私は次のすべてを試しましたが、役に立ちません:
次に答えを探すためにどこに行くべきですか?私は自分のローカルマシンの管理者です。これは、愚かなテキストファイルを作成するような単純なことを実行する権限がないと非常にイライラします...
髪を抜いて...
Get-Date
によって返されるDateTime文字列形式には、ファイル名に使用できない文字が含まれています。このようなものを試してください:
new-item -path .\desktop\testfolder -name "$(get-date -format 'yyyyMMdd_HHmm').txt" `
-value (get-date).toString() -itemtype file
必要に応じてフォーマット文字列を変更するだけです。
問題は、-name (get-date).txt
が(get-date) + ".txt"
と同じでないことです。前者は返されたSystem.DateTime
オブジェクトの「txt」というプロパティを読み取ろうとし、後者は日付の文字列表現に文字列「.txt」を追加します。前者では、プロパティとしての.txtは存在しないため、$null
を返します。これは、フォルダがすでに存在するため拒否されたアクセスを返すnew-item -path .\desktop\folder
を効果的に実行しようとしていることを意味します。