131 lines
4.2 KiB
Batchfile
131 lines
4.2 KiB
Batchfile
TITLE DIGITAL DATA - Run all files in directory
|
|
pushd "%~dp0"
|
|
@ECHO OFF
|
|
REM ----------------------------------------------------------------------------
|
|
REM This script runs all specified files in the current directory
|
|
REM
|
|
REM Returns: <NOTHING>
|
|
REM ----------------------------------------------------------------------------
|
|
REM Copyright (c) 2024 by Digital Data GmbH
|
|
REM
|
|
REM Digital Data GmbH • Ludwig-Rinn-Strasse 16 • D-35452 Heuchelheim
|
|
REM Tel.: 0641/202360 • E-Mail: info-flow@digitaldata.works
|
|
REM ----------------------------------------------------------------------------
|
|
REM Creation Date / Author: 13.08.2015 / MK
|
|
REM Version Date / Editor: 24.11.2024 / MK
|
|
REM Version Number: 2.0.0.0
|
|
|
|
REM --------------------------------------------------------------
|
|
REM ------------------------set variables-------------------------
|
|
REM --------------------------------------------------------------
|
|
|
|
SET /A ADMINMODE=1
|
|
SET FILEEXTENSION=*.ps1
|
|
|
|
SET POWERSHELL7EXE="C:\Program Files\PowerShell\7\pwsh.exe"
|
|
SET POWERSHELL6EXE="C:\Program Files\PowerShell\6\pwsh.exe"
|
|
SET POWERSHELLBUILDINEXE="C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe"
|
|
|
|
SET DIRECTORY="%cd%"
|
|
SET /A COUNT=0
|
|
SET LOGFILE="%cd%\error.log"
|
|
|
|
REM --------------------------------------------------------------
|
|
REM ------------------------preparing part------------------------
|
|
REM --------------------------------------------------------------
|
|
|
|
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
|
|
ECHO Program Startup %date% at %time:~0,8% o'clock, on %computername%.
|
|
|
|
ECHO -
|
|
IF !ADMINMODE! EQU 1 (ECHO WARNING: In AdminMode, network drives/files will maybe be unavailable! && timeout /T 15)
|
|
|
|
ECHO -
|
|
ECHO Searching for PowerShell 7...
|
|
IF EXIST "!POWERSHELL7EXE!" (
|
|
ECHO Found PowerShell 7 on this system.
|
|
SET POWERSHELLEXE=!POWERSHELL7EXE!
|
|
) ELSE (
|
|
ECHO WARNING: Did not found PowerShell 7 on this system
|
|
ECHO This could lead to malfunctions. Check the ..._Readme.txt file
|
|
timeout /T 15
|
|
ECHO Searching for PowerShell 6...
|
|
IF EXIST "!POWERSHELL6EXE!" (
|
|
ECHO Found PowerShell 6 on this system.
|
|
SET POWERSHELLEXE=!POWERSHELL6EXE!
|
|
) ELSE (
|
|
ECHO WARNING: Did not found PowerShell 6 on this system.
|
|
ECHO This could lead to malfunctions. Check the ..._Readme.txt file.
|
|
timeout /T 15
|
|
ECHO Searching for old PowerShell buildin version...
|
|
IF EXIST "!POWERSHELLBUILDINEXE!" (
|
|
ECHO Found old PowerShell buildin version on this system.
|
|
SET POWERSHELLEXE=!POWERSHELLBUILDINEXE!
|
|
) ELSE (
|
|
ECHO ERROR: Did not found any PowerShell on this system.
|
|
ECHO Exiting, because of this issue...
|
|
timeout /T 15
|
|
GOTO exit
|
|
)
|
|
)
|
|
)
|
|
|
|
REM --------------------------------------------------------------
|
|
REM ---------------------Running Scripts---------------------------
|
|
REM --------------------------------------------------------------
|
|
|
|
FOR /F "tokens=*" %%f in ('dir /S /b %FILEEXTENSION%') do (
|
|
SET /a COUNT+=1
|
|
)
|
|
|
|
ECHO -
|
|
ECHO Found %COUNT% File(s) with File Extension %FILEEXTENSION% in Directory:
|
|
ECHO %DIRECTORY%
|
|
|
|
ECHO -
|
|
ECHO Running these scripts now:
|
|
FOR /F "tokens=*" %%f in ('dir /S /b %FILEEXTENSION%') do (
|
|
|
|
ECHO -
|
|
SET "SCRIPT=%%f"
|
|
ECHO Running script:
|
|
ECHO !SCRIPT!
|
|
|
|
ECHO -
|
|
SET "ARGUMENTS=-NoProfile -ExecutionPolicy Bypass -File \""!SCRIPT!\"""
|
|
ECHO With Arguments:
|
|
ECHO !ARGUMENTS!
|
|
|
|
ECHO -
|
|
SET "SUBCOMMAND=Start-Process -FilePath '!POWERSHELLEXE!' -WindowStyle hidden -ArgumentList '!ARGUMENTS!' "
|
|
ECHO Subcommand:
|
|
ECHO !SUBCOMMAND!
|
|
|
|
ECHO -
|
|
IF !ADMINMODE! EQU 1 (
|
|
SET "COMMAND=Start-Process powershell.exe -WindowStyle hidden -Verb runas {!SUBCOMMAND!} "
|
|
) ELSE (
|
|
SET "COMMAND=Start-Process powershell.exe -WindowStyle hidden {!SUBCOMMAND!} "
|
|
)
|
|
ECHO In nested command:
|
|
ECHO !COMMAND!
|
|
|
|
powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "!COMMAND!"
|
|
|
|
IF ERRORLEVEL 1 (
|
|
ECHO There was an error running the script: !SCRIPT! >> !LOGFILE!
|
|
)
|
|
)
|
|
|
|
REM --------------------------------------------------------------
|
|
REM -------------------------final part---------------------------
|
|
REM --------------------------------------------------------------
|
|
|
|
:exit
|
|
ENDLOCAL
|
|
ECHO -
|
|
ECHO Program Complete %date% at %time:~0,8% o'clock, on %computername%.
|
|
ECHO This Window will close in:
|
|
timeout /T 10
|
|
exit
|