Board logo

标题: [问题求助] PowerShell逻辑运算后执行程序 [打印本页]

作者: iii888iii    时间: 2022-4-6 22:15     标题: PowerShell逻辑运算后执行程序

链接:https://pan.baidu.com/s/1szKC6g4IO-1QxbT8tatYXg
提取码:chcu

请高手帮忙弄个代码,由于是虚拟机的系统,之前的bat代码运行有时候会出问题.  弄个ps的试一试效果.
感谢

条件:
d:\temp\ok .只有一个 *.xlsx文件
(子文件夹有文件,忽略)

案例为:1-2中文英文_中文英文字符_2022年03月26日13时00分_中文英文字符a_中文英文字符b_1024582_22034_72[忽略符号内内容].xlsx



                          z p k
1,提取,all_=zpk= 1-2-1   这个文件夹名称.提取z,p,k,3个值

逻辑:

如果,以下条件 成立,执行对应程序.

模式:a
z为最大值且z>1,且z>p   且k=0        执行c:\temp\210.exe程序  并结束代码,否则继续执行
延时2秒

z为最大值且z>1,且z>p   且k=1        执行c:\temp\211.exe程序  并结束代码,否则继续执行
延时2秒

p为最大值且z>=1,且z>K   且k=0       执行c:\temp\120.exe程序  并结束代码,否则继续执行
延时2秒

k为最大值且z=0,且k>=2   且p=0       执行c:\temp\002.exe程序  并结束代码,否则继续执行
延时2秒

k为最大值且z=0,且k>p   且p>=1       执行c:\temp\012.exe程序  并结束代码,否则继续执行
延时2秒

p为最大值且z=1, 且k>=1             执行c:\temp\121.exe程序  并结束代码,否则继续执行
延时2秒

k为最大值且z=1,且k=p              执行c:\temp\122.exe程序  并结束代码,否则继续执行

exit
作者: idwma    时间: 2022-4-7 16:28

  1. $a='d:\temp\ok'
  2. if($(gi "$a\*.xlsx").count -lt 1 -and $(gi "$a\all_=zpk=*").name -match '\d+-\d+-\d+'){
  3.     $zpk=$matches[0] -split '-'
  4.     $z=$zpk[0]
  5.     $p=$zpk[1]
  6.     $k=$zpk[2]
  7.     $zm=$($zpk|measure -max).maximum
  8.     if($z -eq $zm -and $z -gt 1 -and $z -gt $p -and $k -eq 0){start 'c:\temp\210.exe';exit}
  9.     sleep 2
  10. #以此类推可以自己加
  11. # -gt -ge -lt -le -eq
  12. #  >  >=   <   <=  =  
  13. }
复制代码





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