Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1404to1408
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Excelstart aus Batch

Excelstart aus Batch
07.02.2015 08:49:48
Lupus52
Hallo zusammen,
bei Rechnerstart werden bei mir diverse Dateien bzw. Programme aus einem Ordner speziell gestartet. Das Konzept ist seit über 15 Jahren so in Aktion. Die Aktion erfolgt durch eine Flagdatei gesteuert nur beim ersten Rechnerstart am Tag. Soweit funktioniert das bestens.
Dieser Teil wird nur 1 x am Tag ausgeführt
###############################################
for %%A in ("c:\Autostart-Once\*.lnk") do %%A
###############################################
Sinn der Sache: Schnelles wechseln, aktivieren oder deaktivieren der entsprechenden Programme. Ich habe einen zweiten Ordner "autostart-no" - durch einfaches hin- und herschieben der Links entscheide ich was beim nächsten Rechnerstart mit gestartet wird oder nicht.
Problem: Mit allen Links (Verknüpfungen) funktioniert das immer. Nur bei Excel ab und zu nicht. So ca. 1/3 geht nicht und wird mit der Fehlermeldung: "Dateiname.xls" nicht gefunden beantwortet. Unter Dateiname steht natürlich der komplette Aufruf.
Interessanterweise aber erkennt das OS (XPSP3), dass unter dem Dateiname.lnk eine EXCEL-Datei gemeint ist und startet sogar Excel. Allerdings leer. - Ok nicht schlimm. In der Historie finde ich meistens den Aufruf vom Vortag noch. Und mit einem Klick geht es dann. Nur nervt es halt, wenn nach vielen Exceldateien zwischem letzten Aufruf die Historie den Dateinmane nicht mehr hat und ich die Datei dann per Öffnen aus dem Explorer auswählen muss.
Es liegt auch nicht an der "for"-Schleife. Ich habe testhalber den Aufruf direkt fest eingebaut
###############################################
start "" D:\@Daten\dateiname.xls
###############################################
Auch hier passiert es so jeden 3. Start dass die Datei nicht gefunden wird, Excel aber startet.
An Timingproblemen während der Rechnerstartphase, wo sehr viel geladen und initilaisiert wird, kann es wohl kaum liegen. Habe schon Delays und Warteschleifen auf die CPU-Belastung vor den Aufruf gesetzt.
Egal - mal startet Excel einwandfrei mit der Datei. Und mal gibt es ein leeres Excel und die Dateifehlermeldung in der Batch.
Irgend jemand eine Ahnung?

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Excelstart aus Batch
07.02.2015 10:04:57
Tino
Hallo,
geschieht dies nur beim Start oder ist es auch nachvollziehbar
wenn du das Batch-File von Hand ausführst?
Gruß Tino

AW: Excelstart aus Batch
07.02.2015 11:43:40
Lupus52
Hi,
geschieht dies nur beim Start oder ist es auch nachvollziehbar
wenn du das Batch-File von Hand ausführst?
Die Batch (xstart.bat) wird per Autorun ausgeführt. Also beim Systemstart. Wenn ich Sie von Hand ausführen würde, dann gäbe es ziemliche Probleme durch doppelt gestartete Programme. Aber ich kann mal den relevanten Teil in eine separate Batch zum Testen stecken. Wobei, soweit ich mich erinnere, ich das schon mal gemacht hatte. .... Moment ....
Also eine Batch mit nur der einen Zeile startet EXCEL und wartet etwa 2 Sekunden bis die Daten geladen sind. (Eine einfache Tabelle mit weniger als 500 Zeilen) Dann macht die Batch weiter und ist fertig. (bis "Pause"-Befehl)
Hier konnte ich den Fehler nun nicht provozieren. Habe dann Firefox mit einer spezllen Facebookseite gestartet - Die CPU ist dann immer einige Sekunen bei annähernd 100 %. Dann die Batch gestartet. Es hat gute 10 Sekunden gedauert, bis Excel bei der hohen CPU Last endlich in Etappen so weit war. Solange blieb die Batch auch hängen. Dann kamen endlich meine Daten zur Anzeige und die Batch ist fertig. Die Batch wartet auf jeden Fall bis Excel die Daten geladen hat.
Durch CPU-Last lässt sich das wohl nicht erklären.
Vielleicht Speicherprobleme in der Startphase? Nicht genug Speicher für Excel?
Beim Systemstart passiert hier schon eine ganze Menge weil einige große Programme, u.a. auch mit Java und Datenbank, sich wohl ziemlich gleichzeitig um den Speicher streiten. Wenn alles geladen ist, dann liegt die CPU bei 0 bis 2 % und der RAM-Speicher ist maximal zu 50% belegt.
Ich hatte früher schon vor jedem Programmstart ein WAIT in der Batch mit 10 Sekunden eingebaut. Hatte auch nicht geholfen. Genauso ein konkretes Warten auf CPU weniger 5% vor jedem Programm. Das hat auch nicht geholfen. Ausser dass mein Rechnerstart dann mehr als 5 Minuten gebraucht hat. :-(

Anzeige
AW: Excelstart aus Batch
07.02.2015 12:13:14
Tino
Hallo,
Wenn ich Sie von Hand ausführen würde, dann gäbe es ziemliche Probleme durch doppelt gestartete Programme.
Batch ausführen warten bis fertig.
Programme von Hand schließen
Batch ausführen warten bis fertig
Programme von Hand schließen
usw…
Wenn jetzt alles normal ausgeführt wird, liegt es wohl am Systemstart.
Evtl. die Batch über den Taskplaner verzögert ausführen lassen.
Gruß Tino

AW: Excelstart aus Batch
07.02.2015 12:35:00
Lupus52
Es sind ca. 20 Programme. die da gestartet werden. Die alle einzeln zu beenden ist eine Geduldsaufgabe.
Wie ich schon sagte. hatte ich Waits mit festen Zeiten und Waits auf kleine CPU-Belastung ja schon erfolglos drin. Ich habe das Gefühl, dass es mit dem ersten Excel nach dem Bootn zu tun hat. Später passiert das ja nicht mehr. Egal wie ich es provozieren will.
Vor alllem ist ja die Fehlermeldung purer Unsinn. Die Datei ist ja immer da. Und nicht gelockt. Es liegt auch nicht an der Datei. Hatte schon testhalber ganz einfache Dateien dafür eingesetzt. Excel wird anhand des Dateinamens richtig gestartet, Und hat dann ein Problem und liefert eine falsche Fehlermeldung. Das Thema ist übrigens uralt und in hunderten Forenbeiträgen weltweit zu finden. Nur nie eine funktionierende Lösung oder geschweige denn eine plausible Erklärung. Excel ist da irgendwie "bekloppt"

Anzeige
wieso Excel die Meldung müsste von Win kommen? oT.
07.02.2015 13:13:20
Win

AW: wieso Excel die Meldung müsste von Win kommen? oT.
07.02.2015 17:55:31
Win
klar - die Meldung commt von Windows innerhalb der Batch. Wer sie genau auslöst ist aber nicht klar. Die Datei ist definitv da und verfügbar. Es geht ja auch in der Mehrzahl der Fälle

und der Vorschlag mit Taskplaner?
07.02.2015 14:25:22
Tino
Hallo,
ich denke jede Programmzeile verzögert nur den Ablauf des Systemstarts,
daher einfach die batch 1 bis 2 Minuten später ausführen.
Sonst kann ich nicht Helfen!
Gruß Tino

AW: und der Vorschlag mit Taskplaner?
07.02.2015 18:13:29
Lupus52
Und wie kann der Taskplaner das lösen? Feste Zeiten sind nicht möglich. Ich müsste ihn aus der Batch heraus triggern und sagen, dass er z.B. 1 Minute nach Computerleerlauf aktiv wird. Aber genau das mache ich ja schon selber in der Batch mit einem "WaitCpu" vor der eigentlichen Zeile. Da wartet die Batch solange bis die CPU unter 2% ist. Zu mindest hatte ich das so - war leider aber auch erfolglos. Auch ein Delay von x Minuten hat nichts geholfen. Mal geht's mal nicht.
ich denke jede Programmzeile verzögert nur den Ablauf des Systemstarts,
daher einfach die batch 1 bis 2 Minuten später ausführen.

Was du damit sagen willst verstehe ich nicht. Klar verzögert jedes "Wait" in der Batch den gesamten Start der einzelnen Programme. Und was bitte ist anders, wenn ich die Batch 2 Minuten später starte oder gleich starte und entsprechende Wartepasuen drin habe? Da ändert sich gar nichts. Ausser dass ich mehr Aufwand habe.
Tatsache ist, dass es beim ersten Start von Excel passiert. Irgendwas klappt da nicht mit dem Übergeben des Dateinamens an Excel oder Excel "verschluck" sich dran oder was auch immer.
Ich werde es mal ändern. Erst Excel nackt starten, dann warten bis die CPU unter 2% ist und dann die XLS hinterher starten. Im schlimmsten Fall habe ich dann 2 Tabs offen.

Anzeige
naja bei mir ist es möglich
07.02.2015 18:33:54
Tino
Hallo,
nach Systemstart eine Script oder Batch 2 Minuten später auszuführen und auch nur einmal am Tag.
Das ist in einer Minute eingerichtet. (damit wäre der Zeitaufwand nicht begründet)
Auch eine Wait Anweisung benötigt eine Art DoEvent um dem System Zeit zu geben.
Naja wünsche dir noch viel Glück bei deiner Aufgabe!
Gruß Tino

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige