Powershell:New-Item -name< >

时间:2016-05-16 18:32:34

标签: powershell powershell-v4.0

场景:在某个路径中创建名为“x”的文件夹

我正在尝试查看以下内容是否可行:

如果我可以在存在“x”文件夹的同一路径中创建名为“x”的文件,而不在name参数中指定任何扩展名。

我使用了命令new-item -name x -path< > -force

输出:抛出错误而无法创建同名文件

然而,如果我指定扩展名“.txt”,我就可以这样做。

我首先尝试创建文件,然后尝试创建文件夹,但是又出现了另一个错误。我使用force参数来创建文件夹。没有错误,但是当我检查文件夹的路径时,我没有看到它!文件就在那里。

我想知道它失败的原因,是否有解决方法?

首先创建文件夹,然后创建文件错误

PS C:\Windows\system32> New-Item -name Test1 -path E:\ -ItemType directory 

New-Item -name Test1 -path E:\ -ItemType file -force


        Directory: E:\


    Mode                LastWriteTime     Length Name                                                                                    
    ----                -------------     ------ ----                                                                                    
    d----        16-05-2016     20:20            Test1                                                                                   
    New-Item : Access to the path 'E:\Test1' is denied.
    At line:3 char:1
    + New-Item -name Test1 -path E:\ -ItemType file -force
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : PermissionDenied: (E:\Test1:String) [New-Item], UnauthorizedAccessException
        + FullyQualifiedErrorId : NewItemUnauthorizedAccessError,Microsoft.PowerShell.Commands.NewItemCommand

首先创建文件,然后创建文件错误

PS C:\Windows\system32> 
New-Item -name Test2 -path E:\ -ItemType file -force


    Directory: E:\


Mode                LastWriteTime     Length Name                                                                                    
----                -------------     ------ ----                                                                                    
-a---        16-05-2016     20:26          0 Test2                                                                                   



PS C:\Windows\system32> New-Item -name Test2 -path E:\ -ItemType directory 
New-Item : An item with the specified name E:\Test2 already exists.
At line:1 char:1
+ New-Item -name Test2 -path E:\ -ItemType directory
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceExists: (E:\Test2:String) [New-Item], IOException
    + FullyQualifiedErrorId : DirectoryExist,Microsoft.PowerShell.Commands.NewItemCommand

1 个答案:

答案 0 :(得分:6)

所有主要文件系统上的文件和文件夹不能共享相同的名称。目录是一种特殊类型的文件,从用户的角度来看,它可以“包含”其他文件。