powershell - 第一行在powershell中不输出任何内容
问题描述
我尝试在 PowerShell 中输出参数值,但它第一次没有输出任何内容。
我必须尝试多次,并且在第一次输出后总是成功。有谁知道这个问题?
这是代码test.ps1
:
Get-Content D:/Config.txt | Foreach-Object{
$var = $_.Split('=')
New-Variable -Name $var[0] -Value $var[1]
}
Write-Host $DeskTopPath -BackgroundColor black
Write-Host $DeskTopPath -BackgroundColor green
Write-Host $DeskTopPath -BackgroundColor blue
配置文件
DeskTopPath=D:\Users\Test\Desktop
我的输出
D:\Users\Test\Desktop
D:\Users\Test\Desktop
我的 PowerShell 版本:5.1.14393.3471
解决方案
Write-Host
立即写入控制台。它不等待也不关心管道正在处理什么。它只是在创建变量之前执行得太快。您要么需要添加睡眠或延迟,要么不使用Write-Host
.
Get-Content D:/Config.txt | Foreach-Object{
$var = $_.Split('=')
New-Variable -Name $var[0] -Value $var[1]
}
Start-Sleep -m 200
Write-Host $DeskTopPath -BackgroundColor black
Write-Host $DeskTopPath -BackgroundColor green
Write-Host $DeskTopPath -BackgroundColor blue
由于运行 PowerShell 代码所涉及的变量数量众多,因此并非所有人都可以重现这一点。这将不得不反复试验。
推荐阅读
- pytorch - 使用固定嵌入时 Seq2Seq 翻译模型中的问题
- php - Codeigniter 和 AJAX MySQL 错误处理
- php - 需要在 $this->request->data 对象中设置数据值以进行测试
- javascript - 有没有办法在用户登录后继续查看弹出模式?
- python - 从元组中提取字典值
- performance - HP Perf Center 每 n 秒开始新的迭代
- python - python检查str是否在对象列表中
- oauth-2.0 - (如何)使用 OpenID Connect(或不使用?)保护 Web API
- php - Laravel - $app->loadEnvironmentFrom('.env.testing') 方法不起作用
- sql-server - 使用 Visual Studio 自动化数据管道