我目前每天早晨使用一系列.bat文件来自动化我的SAS EG报告,以便当我进入时,数据已经存在并且可以开始工作。 .bat文件在我们的新Windows 10平台上造成了安全问题,因此要求我们将.bat文件转换为.ps1。我在翻译语法时遇到了麻烦,因此我具有相同的功能(报告必须连续运行,而不是同时运行)
我有一本正在使用的参考书,但是参考书不够详尽(Microsoft Powershell,VBScript和Jane圣经,作者是Stanek,O'Neill,Rosen)
原始.bat代码:
@echo off
rem This batch script executes multiple VB scripts
echo Executing Daily4
echo %time% Running Report1
cscript //nologo //E:vbscript "\\[FOLDER LOCATION]\EGScript43.vbs"
echo %time% Finished Running Report1
echo %time% Running Report2
cscript //nologo //E:vbscript "\\[FOLDER LOCATION]\PUMA_Check.vbs"
echo %time% Finished Running Report2
echo All jobs complete
尝试的.ps1代码:
Write-Progress -Activity "Running Report1" -SecondsRemaining;
Invoke-Item "\\[FOLDER LOCATION]\EGScript43.vbs"
Write-Progress -Activity "Running Report2" -SecondsRemaining;
Invoke-Item "\\[FOLDER LOCATION]\EGScript43.vbs"
在第一个报告完成后,我需要第二个报告才能运行。我还需要查看报告的进度。现在,.bat将打开带有时间戳的MS-DOT窗口。我需要在.ps1中使用相同的功能。
**警告,我不是行业程序员。我是一名致力于编程的分析师,并且在很大程度上都是成功的