Board logo

标题: [问题求助] PowerShell如何实现按任意键重复执行 [打印本页]

作者: 5i365    时间: 2022-3-5 09:13     标题: PowerShell如何实现按任意键重复执行

下面的代码,执行后, 按任意键就退出了, 如何实现按任意键,再次执行一遍ps代码?再按任意键,再次执行,只能使用点击命令行窗口的关闭按钮来关闭,  cmd中有goto, ps中怎样实现? 提前感谢!
  1. #@&cls&powershell "gc '%~0'|out-string|iex"&echo 按任意键再次执行&pause>nul&exit
  2. {echo "hello"} | iex
复制代码

作者: went    时间: 2022-3-5 10:42

while($true){
    echo 'hello'
    pause
}
作者: 5i365    时间: 2022-3-5 11:06

回复 2# went


    感谢大侠支招, 现在需要输入字母后回车,

如果能在第一行的批处理代码内实现就好了
作者: 5i365    时间: 2022-3-5 11:15

回复 2# went


    改成这样可以了, 但还是没有在CMD中实现
  1. #@&cls&powershell "gc '%~0'|out-string|iex"&pause&exit
  2. while ($true)
  3. {
  4. cls
  5. cmd /c "echo 按任意键再次执行&pause>nul"
  6. {echo "hello"} | iex
  7. }
复制代码

作者: 5i365    时间: 2022-3-5 11:37

回复 2# went


    遇到一个奇怪的事, 有时, 在关闭cmd窗口时, 会再次执行一下ps命令
  1. #@&cls&powershell "gc '%~0'|out-string|iex"&pause&exit
  2. while ($true)
  3. {
  4. start calc
  5. cls
  6. cmd /c "echo 按任意键再次执行&pause>nul"
  7. }
复制代码

作者: went    时间: 2022-3-5 15:11

回复 3# 5i365


    这样?
  1. #@&cls&powershell "while(1){gc '%~0'|out-string|iex;pause}"&pause&exit
  2. Write-Host 'hello'
复制代码

作者: 5i365    时间: 2022-3-5 17:26

回复 6# went

下面能得到想要的结果, 但是还是有问题, 有时关闭CMD窗口时,还会启动一次计算器
  1. #@&cls&powershell "while(1){gc '%~0'|out-string|iex;cls;cmd /c 'echo 按任意键再次执行&pause>nul'}"&pause&exit
  2. start calc
复制代码

作者: 5i365    时间: 2022-3-5 17:29

回复 6# went


    我想实现这样的CMD效果, powershell 居然没有goto
  1. @echo off
  2. :start
  3. start calc
  4. echo 按任意键再次执行&pause>nul
  5. cls
  6. goto :start
复制代码

作者: for_flr    时间: 2022-3-7 20:56

  1. #@&cls&powershell "gc '%~0'|out-string|iex"&exit
  2. do{
  3.   echo "hello"
  4.   echo "按任意键再次执行"
  5.   $a=[console]::readkey()
  6. #  cls
  7. }while($a.key -ne "q")
复制代码
是这个意思?按Q退出,按其他任意键循环..
作者: 5i365    时间: 2022-3-7 21:09

回复 9# for_flr


    大侠牛X, 终于实现了我想要的结果, 我出试了多次, 没有在关窗口的时候, 再次执行, 太奇怪了!
  1. #@&cls&powershell "gc '%~0'|out-string|iex"&exit
  2. do{
  3.   start calc
  4.   echo "按任意键再次执行, 按Q退出!"
  5.   $a=[console]::readkey()
  6.   cls
  7. }while($a.key -ne "q")
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2