Ich habe eine Batch-Datei, die ein paar Befehle aufruft und schließlich ein Powershell-Skript ausführt. Es läuft gut manuell, aber im Aufgabenplaner kann ich sehen, dass es einige der Aktionen abschließt, aber das Powershell-Skript nicht ausführt (letzter Befehl in der Bat-Datei). Das Skript wird von einer Java-Datei erstellt/überschrieben, wo es sendet aus E-Mails. Alles aktualisiert und notwendig, aber letztendlich werden die E-Mails nie gesendet. Wenn ich im Win Explorer auf die bat-Datei klicke, funktioniert es wie erwartet.Bat-Datei wird manuell ausgeführt, nicht mit Task-Scheduler abgeschlossen
@echo off
set Pathname="C:\Users\administrator\Documents\EmailNotification\EmailNotificationJava"
cd %Pathname%
REM ECHO Directory: C:\Users\administrator\Documents\Notification
CALL IndividualCMDCommands.bat
set Pathname="C:\Users\administrator\Documents\EmailNotification\EmailNotificationJava\src"
cd %Pathname%
XCOPY C:\Users\administrator\Documents\EmailNotification\EmailNotificationJava\*.txt C:\Users\administrator\Documents\EmailNotification\EmailNotificationJava\src /Y
javac -cp .;C:\Users\administrator\Documents\EmailNotification\EmailNotificationJava\joda-time-2.9.3\joda-time-2.9.3.jar ParseInfo.java
java -cp .;C:\Users\administrator\Documents\EmailNotification\EmailNotificationJava\joda-time-2.9.3\joda-time-2.9.3.jar ParseInfo
ECHO ParseInfo
REM set Pathname="C:\Users\administrator\Documents\Notification"
REM cd %Pathname%
ECHO Powershell
REM SET ThisScriptsDirectory="C:\Users\administrator\Documents\EmailNotification\EmailNotificationJava\src"
SET PowerShellScriptPath=%TC:\Users\administrator\Documents\EmailNotification\EmailNotificationJava\PSCMD.ps1
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& '%PowerShellScriptPath%'";
ECHO Complete
Warum überhaupt eine Batch-Datei verwenden? Verwenden Sie PowerShell für das gesamte Skript. –
Jedes Mal, wenn dieses Skript ausgeführt wird, wird das Powershell-Skript überschrieben. Der Grund für die Verwendung des Powershell-Skripts besteht darin, die E-Mail-Befehle in einer separaten Datei zu speichern, die ich bei Bedarf ändern kann. Also möchte ich diesen Teil in einer eigenen Datei behalten. –
Ich würde einen alternativen Ansatz empfehlen, der dies nicht erfordert - Sie benötigen keine Batch-Datei. –