Windows Server 2012 führt die Stapeldatei nicht ordnungsgemäß aus der geplanten Aufgabe aus

0

Ich habe eine Batch-Datei, die nur 3 Zeilen lang ist.

Was es tut, ist einfach:

type C:\data\file.bak >> echo "" >> file.log.bak

cscript "C:\data\Move filesA.vbs"
cscript "C:\data\Move filesB.vbs"

Grundsätzlich genügt es, die Datei file.bak zu nehmen und an die Datei file.log.bak anzuhängen. Sie sind nur reine Textdateien

Die cscripts nehmen die Datei file.bak und verschieben sie an einen Serverstandort.

Das type C:\data\file.bak >> echo "" >> file.log.bakwurde erst vor ein paar Stunden hinzugefügt . Das Skript wird alle 15 Minuten ausgeführt

Wenn es von einem Benutzer ausgeführt wird (Doppelklicken auf die BAT-Datei), funktioniert es einwandfrei und kopiert die Datei problemlos in die Datei file.log.bak

Beim Ausführen von der Task wird die type C:\data\file.bak >> echo "" >> file.log.bakZeile nicht ausgeführt , sondern die cscripts ausgeführt

Ich würde nur vermuten, dass Windows eine zwischengespeicherte Version der Batchdatei hat und die neue Batchdatei nicht ausführt.

Gibt es einen Hinweis darauf, warum die type C:\data\file.bak >> echo "" >> file.log.bakLeitung nicht ausgeführt wird , wenn eine geplante Aufgabe ausgeführt wird?

Chad K
quelle
type C:\data\file.bak >> echo "" >> file.log.bakist ein ungültiger Befehl. Was genau wollen Sie mit diesem Befehl erreichen?
Twisty Imitator
Fügen Sie die Zeile zur Datei hinzu, fügen Sie jedoch zuerst ein Endzeilenzeichen hinzu. Es funktioniert, wenn Sie es manuell ausführen (Doppelklick)
Chad K
Haben Sie einen besseren Erfolg, wenn Sie diese Codezeile in zwei Zeilen aufteilen, z. B. echo >>und dann type...?
Twisty Imitator
Einfach gemacht, kein Erfolg. Ich werde versuchen, die Planung aufzuheben und es erneut zu planen. Ich habe das Echo auf "" Echo geändert. . Es gibt mir alle die gleichen Ergebnisse, funktioniert aber nicht von einer geplanten Aufgabe
Chad K
Verfügt das zum Ausführen der Aufgabe konfigurierte Benutzerkonto über ausreichende NTFS-Berechtigungen für die Dateien? Versuchen Sie, eine Aufgabe mit den höchsten Berechtigungen auszuführen.
Twisty Imitator

Antworten:

0

Stellen Sie sicher, dass die geplante Aufgabe in einem Verzeichnis ausgeführt wird.

Wenn Sie relative Dateipfade verwenden, funktioniert dies nicht, wenn Sie von einem anderen Verzeichnis ausgeführt werden. Microsoft hat eine Funktion hinzugefügt, die den Befehl aufnimmt und an einer anderen Stelle ausführt, nicht dort, wo sich die Datei befindet.

Doppelklicken Sie auf die geplante Aufgabe (oder klicken Sie auf Eigenschaften), wechseln Sie zur Registerkarte Aktionen und bearbeiten Sie die Aktion (en). Von dort aus sehen Sie ein Popup mit dem Feld 'Start in (optional)'. Legen Sie das Verzeichnis ab, in dem sich das Skript befindet (oder in welchem ​​Verzeichnis es ausgeführt werden soll)

Popup zum Ändern von Start in Verzeichnis

Chad K
quelle