命令 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
        }
    }
}