找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 17585|回复: 9

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

[复制链接]
发表于 2022-3-5 09:13:31 | 显示全部楼层 |阅读模式
下面的代码,执行后, 按任意键就退出了, 如何实现按任意键,再次执行一遍ps代码?再按任意键,再次执行,只能使用点击命令行窗口的关闭按钮来关闭,  cmd中有goto, ps中怎样实现? 提前感谢!


  1. #@&cls&powershell "gc '%~0'|out-string|iex"&echo 按任意键再次执行&pause>nul&exit

  2. {echo "hello"} | iex

复制代码
发表于 2022-3-5 10:42:09 | 显示全部楼层
while($true){
    echo 'hello'
    pause
}
 楼主| 发表于 2022-3-5 11:06:23 | 显示全部楼层
回复 2# went


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

如果能在第一行的批处理代码内实现就好了
 楼主| 发表于 2022-3-5 11:15:05 | 显示全部楼层
回复 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. }
复制代码
 楼主| 发表于 2022-3-5 11:37:05 | 显示全部楼层
回复 2# went


    遇到一个奇怪的事, 有时, 在关闭cmd窗口时, 会再次执行一下ps命令
  1. #@&cls&powershell "gc '%~0'|out-string|iex"&pause&exit

  2. while ($true)
  3. {
  4.         start calc
  5.        
  6.         cls
  7.         cmd /c "echo 按任意键再次执行&pause>nul"
  8. }
复制代码
发表于 2022-3-5 15:11:12 | 显示全部楼层
回复 3# 5i365


    这样?
  1. #@&cls&powershell "while(1){gc '%~0'|out-string|iex;pause}"&pause&exit

  2. Write-Host 'hello'
复制代码
 楼主| 发表于 2022-3-5 17:26:55 | 显示全部楼层
回复 6# went

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

  2. start calc
复制代码
 楼主| 发表于 2022-3-5 17:29:55 | 显示全部楼层
回复 6# went


    我想实现这样的CMD效果, powershell 居然没有goto
  1. @echo off
  2. :start

  3. start calc

  4. echo 按任意键再次执行&pause>nul
  5. cls
  6. goto :start
复制代码
发表于 2022-3-7 20:56:50 | 显示全部楼层
  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技术 +1 收起 理由
5i365 + 1 牛X

查看全部评分

 楼主| 发表于 2022-3-7 21:09:16 | 显示全部楼层
回复 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")
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 01:37 , Processed in 0.024088 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表