命令 Start-Sleep -milliseconds 50
Command Start-Sleep -milliseconds 50
模仿别人的脚本(我什么都不知道)有没有办法将这种休眠应用于诸如“dir”之类的命令?
目标:在打字机效果中显示 DIR 输出。
$string = "The quick brown fox jumped over the lazy dog."
$string -split '' |
ForEach-Object{
Write-Host $_ -nonew
Start-Sleep -milliseconds 50
}
Get-Item * | ForEach-Object { Write-Output $_; Start-Sleep -milliseconds 50 }
使用 dir 实现(Powershell 中的 Get-Item)
从输出中取出每一行 ($_) 等待 50 毫秒并打印该行。
修改了你的脚本。
这将分别打印出每个字母。
[string[]]$strings = (Get-ChildItem).FullName
$strings | foreach {
$_ -split '' |
ForEach-Object{
Write-Host $_ -nonew
Start-Sleep -milliseconds 1
}
Write-Host ""
}
这是否回答了您的问题?
听起来您想要所有输出而不仅仅是文件路径或名称。我提供相同概念的两个版本
多个foreach循环
Get-ChildItem * | Out-String -Stream | ForEach-Object {
[environment]::NewLine
$_.trimend().tochararray()| ForEach-Object{
Write-Host $_ -NoNewline
Start-Sleep -milliseconds 25
}
}
使用 switch 语句
Switch (Get-ChildItem * | Out-String -Stream)
{
default {"`n"; $_.trimend().tochararray()|
ForEach-Object{
Write-Host $_ -NoNewline
Start-Sleep -milliseconds 25
}
}
}
模仿别人的脚本(我什么都不知道)有没有办法将这种休眠应用于诸如“dir”之类的命令? 目标:在打字机效果中显示 DIR 输出。
$string = "The quick brown fox jumped over the lazy dog."
$string -split '' |
ForEach-Object{
Write-Host $_ -nonew
Start-Sleep -milliseconds 50
}
Get-Item * | ForEach-Object { Write-Output $_; Start-Sleep -milliseconds 50 }
使用 dir 实现(Powershell 中的 Get-Item)
从输出中取出每一行 ($_) 等待 50 毫秒并打印该行。
修改了你的脚本。
这将分别打印出每个字母。
[string[]]$strings = (Get-ChildItem).FullName
$strings | foreach {
$_ -split '' |
ForEach-Object{
Write-Host $_ -nonew
Start-Sleep -milliseconds 1
}
Write-Host ""
}
这是否回答了您的问题?
听起来您想要所有输出而不仅仅是文件路径或名称。我提供相同概念的两个版本
多个foreach循环
Get-ChildItem * | Out-String -Stream | ForEach-Object {
[environment]::NewLine
$_.trimend().tochararray()| ForEach-Object{
Write-Host $_ -NoNewline
Start-Sleep -milliseconds 25
}
}
使用 switch 语句
Switch (Get-ChildItem * | Out-String -Stream)
{
default {"`n"; $_.trimend().tochararray()|
ForEach-Object{
Write-Host $_ -NoNewline
Start-Sleep -milliseconds 25
}
}
}