在禁止输出PowerShell时,在Out Null之前设置变量

在禁止输出PowerShell时,在Out Null之前设置变量,powershell,Powershell,我试图在设置变量时抑制命令的输出。我需要这样做,因为我已经使用编译了PowerShell脚本。这个程序在一个单独的窗口上显示所有的命令输出,这很烦人,也不是必需的。我试图使用Get ChildItem“$MYSQLFOLDERLOCATION”| Out String | Write Host,但这仅在目录中没有任何内容,并且在屏幕上显示目录内容时有效。我也一直在尝试使用Get ChildItem“$MYSQLFOLDERLOCATION”|$ISMYSQLFOLDERPRESENT=$?|Ou

我试图在设置变量时抑制命令的输出。我需要这样做,因为我已经使用编译了PowerShell脚本。这个程序在一个单独的窗口上显示所有的命令输出,这很烦人,也不是必需的。我试图使用
Get ChildItem“$MYSQLFOLDERLOCATION”| Out String | Write Host
,但这仅在目录中没有任何内容,并且在屏幕上显示目录内容时有效。我也一直在尝试使用
Get ChildItem“$MYSQLFOLDERLOCATION”|$ISMYSQLFOLDERPRESENT=$?|Out Null
,但这在语法上是不正确的。有类似的东西我可以用吗?我基本上想在PowerShell中执行一个与ls等效的命令,然后存储它是否成功,同时不在屏幕上显示任何内容(我不能使用写入输出、写入主机等)。

您需要将整个表达式分配给一个变量,否则任何结果输出都会“冒泡”到调用方,您将在屏幕上看到它:

$variable = Get-ChildItem .\path
为了检查文件系统中是否存在文件夹,我建议使用
testpath
而不是
getchilditem

$IsMySqlFolderPresent = Test-Path $MYSQLFOLDERLOCATION -PathType Container
$IsMySqlFolderPresent
现在将保存一个布尔值(
$true
$false
),这取决于目录是否存在于
$MYSQLFOLDERLOCATION

指定的路径。您需要将整个表达式分配给一个变量,否则任何结果输出都将“冒泡”您将在屏幕上看到:

$variable = Get-ChildItem .\path
为了检查文件系统中是否存在文件夹,我建议使用
testpath
而不是
getchilditem

$IsMySqlFolderPresent = Test-Path $MYSQLFOLDERLOCATION -PathType Container

$IsMySqlFolderPresent
现在将保存一个布尔值(
$true
$false
),具体取决于目录是否存在于
$MYSQLFOLDERLOCATION

指定的路径上,听起来就像您正在查找的
$IsMySqlFolderPresent=测试路径$MYSQLFOLDERLOCATION-路径类型容器
!我是PowerShell的新手,从来都不知道它的存在:)如果您想将其转化为答案,我将接受它。同意,Get Childitem是错误的命令。使用写主机会加剧问题,因为无论您做什么,它都会输出到控制台。测试路径就是这样。我来自一个非Windows环境(Linux类型),我总是使用ls,set variable,clear:)听起来像是在寻找
$IsMySqlFolderPresent=Test Path$MYSQLFOLDERLOCATION-PathType容器
!我是PowerShell的新手,从来都不知道它的存在:)如果您想将其转化为答案,我将接受它。同意,Get Childitem是错误的命令。使用写主机会加剧问题,因为无论您做什么,它都会输出到控制台。测试路径就是这样。我来自一个非Windows环境(Linux类型),我总是使用ls,set变量,clear:)