当我在控制台上使用 PowerShell 创建目录、使用New-Item C:\Temp -Item-Type Directory
或mkdir
函数时mkdir C:\Temp
,我会得到简短/简洁的反馈
Directory: C:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 19/12/2022 21:31 Temp
但是,如果我从脚本运行这些,由于某种原因,我会得到非常详细的输出!
PSPath : Microsoft.PowerShell.Core\FileSystem::C:\Temp
PSParentPath : Microsoft.PowerShell.Core\FileSystem::C:\
PSChildName : Folder View Defaults
PSDrive : C
PSProvider : Microsoft.PowerShell.Core\FileSystem
PSIsContainer : True
Name : Temp
FullName : C:\Temp
Parent : Temp
Exists : True
Root : C:\
Extension :
CreationTime : 12/19/2022 8:52:30 PM
CreationTimeUtc : 12/19/2022 8:52:30 PM
LastAccessTime : 12/19/2022 8:52:30 PM
LastAccessTimeUtc : 12/19/2022 8:52:30 PM
LastWriteTime : 12/19/2022 8:52:30 PM
LastWriteTimeUtc : 12/19/2022 8:52:30 PM
Attributes : Directory
Mode : d-----
BaseName : Temp
Target : {}
LinkType :
为什么它会输出所有这些信息(来自脚本),以及如何控制脚本的输出以便它仅显示文件夹已创建的简单确认?
我在 Windows 10 上的 PowerShell 5.1 中执行所有操作,并且仅运行普通.ps1
脚本,例如行为如上所示的行:
$backup = "$env:TEMP\Folder View Defaults"
mkdir $backup -Force
答案1
我怎样才能控制输出
你可以随时通过管道Select-Object
返回你想要的信息,比如
New-Item -Path "$env:TEMP\Folder View Defaults" -ItemType Directory -Force | Select-Object Mode,LastWriteTime,Name
或者如果你只是想要确认 ($true 或 $false)
[bool](New-Item -Path "$env:TEMP\Folder View Defaults" -ItemType Directory -Force)