Menü für Batch-Dateien

atUnbekannt

Neuer User
Mitglied seit
22 Nov 2009
Beiträge
147
Punkte für Reaktionen
0
Punkte
0
Wie der Tittel schon verrät hab ich eine kleine CMD-Erweiterung geschrieben um Batchdateien auf der Box etwas flexiebler zu machen.

Zuerst sollte ins aktuelle Verzeichnis gewechselt werden mit
Code:
cd %0\..
Das erspaart einen bei jeden Aufruf die komplette Pfadangabe.

Aufgerufen wird das Menü mit
Code:
cmdmenu.exe "Menutittel " "Menupunkt 1" "Menupunkt 2"

Die Auswertung erfolgt dann über errorlevel :
Code:
IF errorlevel 2 goto menupunkt2
IF errorlevel 1 goto menupunkt1
IF errorlevel 0 goto menuabbr

:menupunkt1
Code für Menupunkt 1
goto fertig

:menupunkt2
Code für Menupunkt 2
goto fertig

:menuabbr
Code für Abbuch
:fertig
Hierbei muß darauf geachted werden das zuerst der größte wert verglichen wird und dann immer der nächstkleinere.

Das Menü läßt sich natürlich auch per Fernbedienung steuern Auf und Ab zum Auswählen, OK(Return) zum bestätigen und Exit (ESC) zum beenden.

Um die Batchdateien über den Filebrowser von mir starten zu können muß entweder der Pfad in der Batchdatei angepasst werden oder die cmdmenu.exe ins Windowsverzeichnis kopiert werden, auserdem muß die Test.bat in Test.cmd umbenannt werden.

Ich hab übrigends einen Bug in der Registrie gefunden, der verhindert das Batchdateien nicht mit dem Explorer gestarted werden können, wenn ein Leerzeichen enthalten ist. Ich hab mal im Anhang ein Regfile gepackt das den Fehler behebt.

Viel Spaß und Test.bat nicht so Ernst nehmen.
 

Anhänge

  • cmdmenu.zip
    7.7 KB · Aufrufe: 23
  • regfile.zip
    231 Bytes · Aufrufe: 14
Zuletzt bearbeitet:
Moin,

da bin ich ja baff, was Du mal wieder in Deiner "Schublade" gefunden hast. ;)

Werde es mal mit den cmd's testen, aus der "Sammlung", vielleicht ist das anpassen von "Hard Disk" und "Festplatte" dann ja einfacher. ;)

Danke schon mal
&
 
Moin,

ist aber nicht aus der Schublade :).

Nur so als Tip: bei Batch-Dateien kannst du auch Parameter anhängen und die mit %1 bis %9 abrufen. Wenn du als Parrameter den Pfad angibst und in der Batch dann %1 anstat der Pfadangabe verwendest, ist die Anpassung leichter.
 
Moin hatte ich ja schon,

Danke für den Tipp mit dem Parametern.

<OT> Die "Funde in der Schublade" fand ich eh verdächtig. :)
Hatte eher die Vermutung, das Sie Deinem Gehirn entspringen. ;) </OT>
 
Gut ich gebs zu in ein paar Büchern, mit hilfe von Google und der MSDN Library. Ich habs dann nur sortiert. :keule:
 
Moin,

<OT>
... nur sortiert. :keule:
War die Vermutung ja richtig. :D </OT>

...Um die Batchdateien über den Filebrowser von mir starten zu können muß entweder der Pfad in der Batchdatei angepasst werden oder die cmdmenu.exe ins Windowsverzeichnis kopiert werden. ..

Was Du eventuell vergessen hattest zu erwähnen, ;) man sollte die Batchdatei Test.bat nach test.cmd umbenennen.

Bei mir startet der Filebrowser die Test.bat nicht. :-Ö

Im "Test.zip" ist eine angepasste test.cmd um die cmdmenu.exe nach Windows zu kopieren und wieder zu löschen. Man muss nur den Pfad zur cmdmenu.exe anpassen ( steht auch in der cmd )

...Nur so als Tip: bei Batch-Dateien kannst du auch Parameter anhängen und die mit %1 bis %9 abrufen. Wenn du als Parrameter den Pfad angibst und in der Batch dann %1 anstat der Pfadangabe verwendest, ist die Anpassung leichter.
Im "Fehler.zip" ist ein Versuch mit dem Pfade setzen, ist aber leider Misslungen. :oops:
Fehlermeldung ist im angehängten Bild.

Hast Du Bitte einen Tipp, was ich verkehrt gemacht habe. :blonk:

Danke
 

Anhänge

  • Test.zip
    630 Bytes · Aufrufe: 2
  • Fehler.zip
    11.7 KB · Aufrufe: 3
  • Fehler.jpg
    Fehler.jpg
    11.4 KB · Aufrufe: 11
Zuletzt bearbeitet:
Moin,

Was Du eventuell vergessen hattest zu erwähnen, man sollte die Batchdatei Test.bat nach test.cmd umbenennen.

Ja stimmt.


Ich hatte das so gemeint: Du erstellst eine "Start-CMD" wo du die "richtige" CMD aufrufst.

Start-CMD:
Code:
cd %0\..
RichtigeCMD.cmd "das ist ein Test" "Zweiter Parameter"

Richtige-CMD
Code:
echo %1
echo %2

Die %0-Variable enthält übrigends Dateinamen und den Pfad der Batch.

Ich hab übrigends einen Bug in der Registrie gefunden, der zur Folge hat das Batchdateien nicht ausgeführt werden, wenn ein Leerzeichen im Pfad enthalten ist. Ein REG-File das den Fehler behebt ist hier im Anhang zu finden.
 
Moin,

leider stehe ich irgendwie auf dem Schlau. :confused:

Habe die Beispiel-cmd's erstellt ( Versuch.zip ),
hatte noch einen "call" Aufruf hinzugefügt, aber irgend etwas mache ich wohl falsch ( Veruch.jpg ).

PS: "regfile.zip" wird mit "geladen"

Nachtrag :

Unter Xp ist alles gut. ( Versuch unter XP.jpg ) :confused:
 

Anhänge

  • Versuch.jpg
    Versuch.jpg
    16.4 KB · Aufrufe: 11
  • Versuch.zip
    325 Bytes · Aufrufe: 2
  • Versuch unter XP.jpg
    Versuch unter XP.jpg
    48 KB · Aufrufe: 13
Zuletzt bearbeitet:
Moin,

ich hab nochmal getested, wenn in den Parametern beim Aufruf ein Leerzeichen ist, wird das als 2 Parameter übergeben. Wenn man das mit Anführungszeichen angibt ist das selbe:confused:. Ich bin mir aber ziemlich sicher das es gestern funktioniert hat, vlt war da bei der Schreibweise doch was anders. Werd nachher nochmal Probieren.

[Edit]
Ich hab eine möglichkeit gefunden, es lassen sich zwar nur Pfade mit maximal 8 Leerzeichen verwenden. Aber es Funktioniert.
Der Trick ist der alle übergebenen Parrameter in einer Variable zu Speichern, jeweils mit einen Leerzeichen dazwichen. Wenn jemand eine bessere Idee hat immer her damit:p.
 

Anhänge

  • cmd_test.zip
    321 Bytes · Aufrufe: 19
Zuletzt bearbeitet:
Moin,

Weiß nicht ob es besser ist. :noidea:

Habe nur mal etwas anderes probiert. ( "test.zip" ) :)

Nachtrag :
Starte die cmd über die sw4 (Box ist ohne Maus),
hatte sie aber auch, per VNC, unter CE mit dem CE-Explorer getestet.
 

Anhänge

  • test.zip
    369 Bytes · Aufrufe: 1
Zuletzt bearbeitet:
Moin,

habe mal einen "Sysstarter switch" für die FB "gebastelt". ;)

Man kann mit dem "sysstarter.zip", dank dem "Menü für Batch-Dateien" den Autostart der sw4 jetzt mit der FB ändern.

Bitte nur die Dateien sysstarter.* und die Datei m_sysstarter.cmd an Eure Bedürfnisse anpassen.
( Ist zur Zeit an die bastelstunde_v0.4.0.15-2.2 mit dem "CE.zip" angepasst. )

Hoffe Ihr könnt damit etwas anfangen. ;)
 

Anhänge

  • Sysstarter.jpg
    Sysstarter.jpg
    7.7 KB · Aufrufe: 5
Zuletzt bearbeitet:
Danke für die neue Möglichkeit für die Box !

Hallo atUnbekannt,

was ich ganz vergessen habe: :oops:

Ein Riesen Danke für Dein "Menü für Batch-Dateien", Du hast das CE um eine Klasse Möglichkeit erweitert, :rock:

:groesste:
 
Hallo,

Dank dem Menü für Batch-Dateien kann man, mit der FB, zwischen "Sot startet" oder "Mediacenter startet" auswählen.

Das "Loadercfg.zip" beinhaltet eine "m_loadercfg.cmd", mit Ihr kann man die "\Hard Disk\loader.cfg" um kopieren .



Tipp:
Wenn die "m_loadercfg.cmd" mit dem Bild "M_loadercfg.bmp" im Menü der sw4 zugefügt ist, hat man einen "Bilderwechsel" im Menü .
Falls dies nicht gewünscht einfach ein "rem"+Leerzeichen vor die Zeilen mit "copy .. .bmp" in der cmd .

Ist an die "bastelstunde_v0.4.0.15-2.2" angepasst, wobei der Pfad "\Hard Disk\Sonstiges\cmdmenu\" angenommen wird.
;)
 
Zuletzt bearbeitet:
Hallo,

da ich leider mit dem regfile.zip Probleme hatte ( mit "Festplatte" ).

Hatte ich mir mal angesehen, wie exe in der Reg Ihre Parameter "erhalten".

Ist aber noch nicht auf "Herz und Nieren" getestet.
 

Anhänge

  • bug1.zip
    237 Bytes · Aufrufe: 5
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.