Anzeige

Am Puls von Microsoft

Anzeige

[gelöst] Batch-Datei zum öffnen der Eingabeaufforderung an einer bestimmten Stelle

flydner

Herzlich willkommen
Hallo,

wie man dem Titel meiner Frage schon entnehmen kann, würde ich gerne wissen ob es eine Möglichkeit gibt,
eine Batch-Datei zu erstellen, die die Eingabeaufforderung öffnet und direkt zu einer bestimmten Stelle springt,
von wo aus man dann durch eine Eingabe z.B. ein Programm öffnen kann.
Normalerweise funktioniert das ja mit cd desktop\ordner_x\ordner_y.
Wenn man dies allerdings in einer Batch-Datei stehen hat so schließt sich die Eingabeaufforderung sofort wieder.
Durch den Befehl PAUSE bleibt das Fenster zwar offen, aber für eine Eingabe reicht das auch nicht.
Falls mir jemand weiterhelfen kann, würde mich das sehr freuen.

LG
 
Anzeige
Hallo , cmd in die Eingabe-Aufforderung eingeben und Enter drücken.
Den oberen Rand des Fensters mit Rechts anklicken und unter Eigenschaften
die Position des Fensters einstellen .
Diese Position gilt dann für alle Eingabe-Aufforderungen dieser Art .

Bat_Datei_Position.jpg

Das Häkchen bei automatisch muß dann natürlich weg .
 
Zuletzt bearbeitet von einem Moderator:
Versuchs mal mit dieser Batch-Datei:
Code:
@echo off
cd d:\daten
start cmd.exe

Statt d:\daten gibst Du Dein Zielverzeichnis ein.
 
Oder man sucht im Explorer den Ordner auf, in dem man in der Eingabeaufforderung sein möchte, und führt einen Rechtsklick mit gehaltener Shifttaste aus. Dann bietet das Kontextmenü nämlich auch den Punkt "Eingabeaufforderung hier" an, der Cmd im betreffenden Ordner öffnet.
 
@Olli - in welchem Zusammenhang hier jetzt? Weil es nicht in CMD noch PUSHD beschrieben wird.
 
Ja, das habe ich auch schon probiert, aber dann schließt sich die Eingabeaufforderung wieder sobald die geöffnete Datei gestartet wurde oder einmal durchgelaufen ist. Ich würde gerne nach einmaligem Durchlauf des Programms in der Lage sein einen neuen Befehl für das aktuelle Verzeichnis einzugeben.
 
Das Verhalten der Konsole ist doch eindeutig: wenn fertig, dann wieder schliessen.

entweder das Programm mit cmd /k <programm> aufrufen (siehe oben).
oder doch mit pause
Falls es nur darum geht, dass die Ausgabe der Batchdatei gelesen werden kann, bevor das Fenster geschlossen wird, einfach als letzte Zeile den Befehl "pause" verwenden. Der Hinweis "Drücken Sie eine beliebige Taste . . ." wird nicht angezeigt, wenn Du "pause>nul" schreibst.

DontCloseMeNow
MasterBootRecord.de - DontCloseMe
"Schliessen" wird unwirksam.
Ausgang dann mit exit
 
ot:

@.Bernd
Das Verhalten der Konsole ist doch eindeutig: wenn fertig, dann wieder schliessen.
Meinst Du, die Konsole schließt sich automatisch?
Bei mir bleibt die Konsole nach cmd.exe /k pushd "D:\daten" und nachfolgenden Befehlen wie DIR oder ähnlich offen, also eigentlich so, wie es @flydner gerne hätte...
 
@flydner
Wenn Du Deine Anforderungen mal genauer beschreiben würdest, dann könnte man Dir auch was raten. Es wäre nämlich durchaus möglich, eine Batchdatei so auszugestalten, dass sie den Pfad, die zu bearbeitende Datei, als auch das auszuführende Kommando erfragt und nach Abarbeitung wieder zum Anfang springt, um neue Angaben abzufragen, bis die Batchdatei geschlossen wird. Je genauer Du Dein Anliegen beschreibst, umso eher kann man Dir da auch helfen.

Mach Dich mal vertraut mit den Batchkommandos:

Choice = erstellt eine einfache Auswahlmöglichkeit.
Set /p = fragt Angaben ab, die im Batch als Variable zur Verfügung stehen. Mehrfache Verwendung ist möglich.
Goto = setzt Sprungmarken um z.B. mit Choice verschiedene Blöcke innerhalb eines Batches anzuspringen.

In Kombination können diese Möglichkeiten sehr vielfältig genutzt werden, um Pfade und Dateien mit den verschiedensten Kommmandos zu bearbeiten, ohne dass der Batch verlassen werden muss.
 
Ich dachte, es gäbe eine Einstellung dazu, aber Fehlanzeige.
Wenn du es selbst öffnest, bleibt es auch auf, nur als BAT/CMD schliesst es sich wieder automatisch.

Evtl meinst du das hier:
c:\windows\_default.pif
-> rechte Maustaste > Eigenschaften > "Programm" > "Nach Beenden schliessen"

Kann aber recht nervig werden, da würde ich eher zu cmd /k und pause greifen.
 
Okay, um meine Anforderungen noch mal zu beschreiben.
Ich suche einen Weg, eine Batch-Datei zu erstellen, die die Eingabeaufforderung öffnet, dann zu einem bestimmten Pfad geht und dann auf weitere Befehle wartet.
Benötigen tue ich dies um ohne ewiges rumgeklicke oder Pfad in die Konsole eingeben eine .py Datei von einem Pfad zu öffnen ohne dass sich diese nach einmaligem Durchlauf sofort wieder schließt.
Momentan muss ich um dies zu tun die Eingabeaufforderung öffnen und dann mit cd C:\Python36\Skripte zum Pfad navigieren, woraufhin ich mit Skript1.py ein Skript öffne, dies einmal durchläuft und ich danach mit Skript2.py das nächste öffnen kann oder nachmal das erste öffnen kann oder was auch immer.

Klar ist da eigentlich nicht viel Arbeit jedesmal das bisschen einzugeben, aber auf der nervt das schon.
 
Dir wurden alle Information für eine Lösung gegeben, bitte nachlesen und abarbeiten. Es sollte dir nicht schwer fallen, da du ja schon mit Python rummachst ;)
 
Ja das stimmt wahrscheinlich, leider kenne ich mich mit Batch befehlen überhaupt nicht aus.
Gibt es irgendeine gute Quelle wo ich das nachholen kann?
 
Also um eine Eingabeaufforderung lediglich direkt in einen bestimmten Pfad springen zu lassen, reicht wirklich eine banale Verknüpfung zur Cmd.exe. Da trägt man dann in der Verknüpfung im Feld "Ausführen in" nur noch den Pfad ein, den man anspringen möchte - fertig. Cmd öffnet in diesem Ordner und man kann dann die darin liegenden Skripte ausführen lassen. Eine Batchdatei ist dafür schon wieder oversized.

Wenn es immer der gleiche Pfad ist, kann es sich allerdings noch einfacher machen, indem man den Pfad mit den Skripten zur "Path" Variable des Systems zufügt. Dann können diese Skripte ohne Angabe des Pfades von jeder beliebigen Stelle des Systems aus ausgeführt werden.
 
Anzeige
Oben