我是Windows Powershell的新手。今天,我尝试了“ new-item”命令,应该让它选择一条路径和一种类型。
首先我输入c:\ newpath(在路径[0]中:) 然后我只是按下Enter键(在路径[1]:)
但是随后它在c:\
中创建了一个名为newpath的文件。但是我要添加type:目录。但是它不会在终端中显示(Type :)。
我在做什么错了?
答案 0 :(得分:2)
您可以在命令中使用-ItemType
参数来指定目录。
New-Item -ItemType Directory -Path C:\NewPath
说明:
New-Item
命令具有两个参数集。默认参数集是pathSet。该参数集仅需要一个参数,即Path。因此,它将永远不会提示更多。下面的命令将列出New-Item
的参数集和定义。
Get-Command New-Item -ShowCommandInfo
Name : New-Item
ModuleName : Microsoft.PowerShell.Management
Module : @{Name=Microsoft.PowerShell.Management}
CommandType : Cmdlet
Definition :
New-Item [-Path] <string[]> [-ItemType <string>] [-Value <Object>] [-Force] [-Credential
<pscredential>] [-WhatIf] [-Confirm] [-UseTransaction] [<CommonParameters>]
New-Item [[-Path] <string[]>] -Name <string> [-ItemType <string>] [-Value <Object>] [-Force]
[-Credential <pscredential>] [-WhatIf] [-Confirm] [-UseTransaction] [<CommonParameters>]
ParameterSets : {@{Name=pathSet; IsDefault=True; Parameters=System.Management.Automation.PSObject[]}, @{Name=nameSet;
IsDefault=False; Parameters=System.Management.Automation.PSObject[]}}
关于路径集的哈希表的通知IsDefault=True
。如果没有通过命令提供参数,PowerShell将通过提示输入强制性参数来尝试解析默认参数集。下面的代码将显示pathSet参数集的参数及其必需的设置。
(Get-Command New-Item -ShowCommandInfo).ParameterSets[0].Parameters | select Name,IsMandatory
Name IsMandatory
---- -----------
Path True
ItemType False
Value False
Force False
Credential False
Verbose False
Debug False
ErrorAction False
WarningAction False
InformationAction False
ErrorVariable False
WarningVariable False
InformationVariable False
OutVariable False
OutBuffer False
PipelineVariable False
WhatIf False
Confirm False
UseTransaction False
列出参数信息及其对应的参数集的另一种方法是(Get-Command New-Item -All).ParameterSets
。