"Nicht genügend Speicher verfügbar, um diesen Befehl zu verarbeiten", nachdem der Befehl start in einer Batch-Datei mit Windows 7 verwendet wurde

8

Ich erstelle eine Batch-Datei, die ein zweites Batch-Skript in einem separaten cmd-Fenster öffnen muss. Ich kann meinen gesamten Code erfolgreich verwenden, wenn ich den Befehl "call" anstelle von "start" verwende, aber das Skript nicht in einem eigenen Fenster startet. Ich habe diesen Fehler viele Male in der Vergangenheit bekommen und er bezieht sich immer auf den Startbefehl. Ich ändere, wie ich den Prozess mache und alles funktioniert gut. Warum verursacht der Startbefehl diesen Fehler und wie kann ich ihn beheben? Unten ist ein Beispiel meines Codes.

%Vor%

Die zweite Batch-Datei öffnet und vervollständigt alle Aufgaben mit Ausnahme der letzten, die

ist %Vor%

Ich habe den letzten Befehl in der Datei mehrmals geändert und es führt immer durch den gesamten Stapel, aber der letzte Befehl, der diesen Stapel beenden würde, schlägt mit dem Fehler "Nicht genügend Speicher ist verfügbar, um diesen Befehl zu verarbeiten" fehl. Dies geschieht auf mehreren Maschinen (variierende Hardware) und mehreren Betriebssystemen. Ich habe den IRPStackSize-Fix ohne Glück versucht. Irgendwelche Vorschläge, warum ich diesen Fehler bekomme?

Danke, Kevin

    
KevinB 13.01.2012, 21:05
quelle

3 Antworten

16

Ich bin auf ein ähnliches Problem gestoßen und die Lösung für mich war ziemlich seltsam. Es scheint, dass die Einstellung des Titels des Fensters auf nichts ("") den Fehler verursacht.

Also statt

%Vor%

probiere

aus %Vor%

Ich kann nicht testen, ob das in Ihrem Fall funktioniert (und ich bezweifle, dass es wichtig ist, da Sie schon lange weg sind), aber hoffentlich hilft das jemandem, ähnliche Fehler zu erleben.

    
Sepia 21.01.2013 17:27
quelle
0

Ersetzen Sie goto :exit durch goto :EOF . Definieren Sie nicht das EOF-Label (es ist vordefiniert).

    
dgvid 13.01.2012 22:00
quelle
-1

Das ist der START-Befehl, wenn Sie einen cmd starten. Wenn Sie START cmd ausführen, würden Sie nicht erwarten, dass CMD sofort beendet wird - es bleibt dort einsatzbereit. Entweder CALL eine cmd-Datei und es wird beendet, oder Sie starten ein cmd, und es wird nicht beendet - aber Sie können es mit dem Beenden-Befehl beenden. Das Problem des Stack-Überlaufs wurde auch von SEIPIA richtig beantwortet - anstatt "" Dateiname.cmd "" "" zu verwenden, setzen Sie etwas zwischen die Anführungszeichen, um als Titel zu fungieren - das verhindert den Stack-Überlauffehler.

    
Tim 08.11.2013 08:56
quelle

Tags und Links