[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] PowerShell如何实现按任意键重复执行

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

while($true){
    echo 'hello'
    pause
}

TOP

回复 2# went


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

如果能在第一行的批处理代码内实现就好了

TOP

回复 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. }
复制代码

TOP

回复 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. }
复制代码

TOP

回复 3# 5i365


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

TOP

回复 6# went

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

TOP

回复 6# went


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

TOP

  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退出,按其他任意键循环..
1

评分人数

TOP

回复 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")
复制代码

TOP

返回列表