我拼命地尝试将参数从批处理文件传递到PowerShell脚本,该脚本检查Windows服务是否正在运行.
这是我完全可操作的命令:
.\nsrservices.ps1 -cmd running nsrexecd,stisvc
Run Code Online (Sandbox Code Playgroud)
但问题是命令的行为:
这是我的bat文件:
powershell.exe -File .\nsrservices.ps1 -cmd running nsrexecd,stisvc
ECHO.%ERRORLEVEL%
exit /B %ERRORLEVEL%
Run Code Online (Sandbox Code Playgroud)
在我的PS文件中,参数定义如下:
param([string]$cmd=$(throw "Type d'action manquante !"),[string[]]$srv)
Run Code Online (Sandbox Code Playgroud)
在日志文件中,我得到了这两个结果(抱歉法国输出).
在PowerShell窗口中:
24/12/2015 09:02:50-Paramètres appelés : cmd=running srv=stisvc nsrexecd
24/12/2015 09:02:50-Début test de l'état running du service : stisvc
24/12/2015 09:02:50- Début évaluation de l'état du service : stisvc
24/12/2015 09:02:50- Fin évaluation de l'état du service : stisvc
24/12/2015 09:02:50-Le service tourne
24/12/2015 09:02:50-Fin test de l'état running du service : stisvc
24/12/2015 …Run Code Online (Sandbox Code Playgroud) 当列满足正则表达式时,如何删除数组的行?
示例:
'0','john','192.168.0.1'
'1','james','192.168.1.1'
'2','pat','192.168.0.1'
Run Code Online (Sandbox Code Playgroud)
我想删除第三列中包含xxx.xxx.1.x的所有行(或保存不包含...的行)
也许egrep将是最好的解决方案(因为我不想使用耗时的循环),但我不知道如何指定列和正则表达式.