evinben
Goto Top

Bildschirm-Ausgabe einer Befehlszeile ausgeführt über eine Verknüpfung unterscheidet sich.

Die erste ausgeführte Befehlszeile wird nicht in CMD angezeigt. Diese ist im wörtlichen Sinne zwar keine Ausgabe, dennoch wird sie benötig - beim Ausführen einer Batch-Datei wird sie im Gegensatz immer angezeigt.

Hallo,


wenn ich in einer Verknüpfung folgendes in Ziel hineinschreibe
%windir%\System32\cmd.exe /c "echo on & dir /? & Pause >nul"  
dann ist nach der Ausführen der Verknüpfung die Ausgabe im CMD wie folgt:
Listet die Dateien und Unterverzeichnisse eines Verzeichnisses auf.
… usw.
Wie kann ich so eine Bildschirm-Ausgabe, wie diese beim Ausführen der Code-Zeilen von einer Batch-Datei aus im CMD gewöhnlich angezeigt wird, realisieren?
C:\windows\system32>C:\windows\System32\cmd.exe /c "echo on & dir /? & Pause >nul"  
Listet die Dateien und Unterverzeichnisse eines Verzeichnisses auf.
… usw.

ECHO ON hilft hier so wie es aussieht nicht. Meine Anzahl an möglichen Kombinationen und Versuche ist erreicht ;) und bin umso mehr nun gespannt, wie ihr das lösen werdet.

Vielen Dank für die Hilfe und fürs Mitmachen

Gruß
evinben

Content-Key: 187534

Url: https://administrator.de/contentid/187534

Printed on: April 19, 2024 at 18:04 o'clock

Member: MrNetman
MrNetman Jul 05, 2012 at 12:13:53 (UTC)
Goto Top
nun, Einbein,

nimm einfach die Ausgabe
>nul
weg. Wenn man will, dass man nichts sieht ist das eine Möglichkeit.

Gruß
Netman
Member: evinben
evinben Jul 05, 2012 at 12:52:54 (UTC)
Goto Top
Hallo MrNetman!

>nul bezieht sich ja hier nur auf den Befehl PAUSE, da es Verkettung mit "&" gibt face-wink.

Danke fürs Mitmachen!

Über weitere Versuche freue ich mich sehr


Gruß
evinben
Member: SlainteMhath
SlainteMhath Jul 05, 2012 at 13:16:06 (UTC)
Goto Top
Moin,

mit anderen Worten: Du möchtest das die ausgeführte Befehlszeile vor dem eigentlich Ausführen nochmals ausgegeben wird, ja? Ich glaube nicht das das ausshalb einer Batch Datei funktioniert.

Du könntest Dir evtl eine Batch mit dem Inhalt
%0
basteln, dann kannst Du die per Verknüpfung und mit dem eigentl. Befehl als Argument aufrufen

In deinem Falls also
batch.cmd %windir%\System32\cmd.exe /c "echo on & dir /? & Pause >nul"  

lg,
Slainte

P.S: alles ungetestet face-smile
Member: pieh-ejdsch
pieh-ejdsch Jul 05, 2012 updated at 19:34:13 (UTC)
Goto Top
moin evinben,

was hat denn dies mit der ersten Befehlszeile zu tun? Es ist ja für die CMD-Line und nur eine Befehlszeile.
Das was Du selbst grad als Befehl geschrieben hast siehst Du ja. Ein Batch läuft ein klitze wing Andreas ab.

Als weitere Kombi:
C:\Windows\System32\cmd.exe /c "prompt $g && (for %i in (1) do dir /? & echo In der Schleife ist das Echo schon am Anfang.) & (for %i in (2) do echo Nochmal als einziges in der Schleife.) & echo Diese Ausgabe ohne Echo des Echo. & pause"  

Gruß Phil
Member: evinben
evinben Jul 06, 2012 at 05:20:52 (UTC)
Goto Top
Hallo Slainte,

danke.
Wenn ich in der Batch %0 habe, die Batch-Datei Batch.cmd benenne, diese auf dem Desktop ablege und sie folgendermaßen über eine Verknüpfung von Desktop aus abrufe
%Userprofile%\Desktop\Batch.cmd %windir%\System32\cmd.exe /c "echo on & dir /? & Pause >nul"  
dann entsteht nur eine ununterbrochene Schleife und nichts mehr:
C:\Users\evinben\Desktop>"C:\Users\evinben\Desktop\Batch.cmd"  
C:\Users\evinben\Desktop>"C:\Users\evinben\Desktop\Batch.cmd"  
C:\Users\evinben\Desktop>"C:\Users\evinben\Desktop\Batch.cmd"  
C:\Users\evinben\Desktop>"C:\Users\evinben\Desktop\Batch.cmd"  
C:\Users\evinben\Desktop>"C:\Users\evinben\Desktop\Batch.cmd"  
… 
usw.
Der eigentliche Befehl (dir /?...) wird nicht angezeigt und ausgeführt.
Wie hast du es gemeint?

Gruß
evinben
Member: evinben
evinben Jul 06, 2012 at 05:30:40 (UTC)
Goto Top
Hallo Phil,
was hat denn dies mit der ersten Befehlszeile zu tun? Es ist ja für die CMD-Line und nur eine Befehlszeile.
Sorry, gemeint habe ich hiermit nur das Anzeigen der allerersten ausgeführten Befehlszeile am Bildschirm, wie uns diese beim Ausführen von einer Batch-Datei aus gewöhnlich angezeigt wird.

Danke. Es funktioniert ausgezeichnet!

Gruß
evinben
Member: SlainteMhath
SlainteMhath Jul 06, 2012 updated at 06:54:06 (UTC)
Goto Top
Sorry, in der Batch muss
%*
stehen, dann sollte es klappen. Wenn Du dann noch
echo on
%*
pause >nul
daraus machst, sparst Du dir ne menge schreibarbei in deinen Verknüpfungen.