Cmd(batch datei) Automatischer tastendruck zb Leerzeichen?

1 Antwort

Wenn das pause einfach direkt weggedrückt werden soll, könntest du den Befehl ja gleich weglassen. 

Du willst also eine zeitliche Verzögerung nach der es weitergehen soll (praktisch wie den timeout Befehl) nur dass statt "Es werden X Sekunden gewartet" nur die Meldung von pause dasteht?

Mit der Pipe | kannst du Text an den folgenden Befehl weiterleiten. Da du zB mit echo. eine Leerzeile (also praktisch enter) ausgibst, lässt sich das als Eingabe für pause verwenden. Die Wartezeit wird danach eingefügt.

:Start
    echo Start
    echo. | pause
    timeout /t 4 >nul
    cls
goto Menu

PS: bitte verwende in Zukunft die Codebeispielfunktion, das sind die spitzen Klammern <> in der Formatierungsleiste.

~Tim

Batch Datei schließt sich durch Leerzeichen?

@echo off

color a

:start

echo Was ist das Objekt?

set /p objekt=

if '%objekt%' == 'cool' goto coolness

:coolness

Echo Das Objekt ist cool!

goto start

---------------------------------------------

Wenn ich bei der Batch Datei ein Leerzeichen eingebe beendet sie sich..

Selbst wenn ich den Code:

if '%objekt%' neq '' goto start oder

if '%objekt%' == ' ' goto start einfüge klappt es nicht

Da erscheint kann syntaktisch an dieser Stelle nicht verarbeitet werden und die Datei schließt sich.

...zur Frage

Wie kann ich ein Color-Menü mit Choice machen?

Hier der Problemteil:

echo              =%Efa1%= Schwarz     =%Efa1%=
echo              =%Efa2%= Grau        =%Efa2%=
echo              =%Efa3%= Hellgrau    =%Efa3%=
echo              =%Efa4%= Blau        =%Efa4%=
echo              =%Efa5%= Hellblau    =%Efa5%=
echo              =%Efa6%= Gruen       =%Efa6%=
echo              =%Efa7%= Hellgruen   =%Efa7%=
echo              =%Efa8%= Tuerkis     =%Efa8%=
echo              =%Efa9%= Helltuerkis =%Efa9%=
echo              =%Efa10%= Rot         =%Efa10%=
echo              =%Efa11%= Hellrot     =%Efa11%=
echo              =%Efa12%= Lila        =%Efa12%=
echo              =%Efa13%= Helllila    =%Efa13%=
echo              =%Efa14%= Gelb        =%Efa14%=
echo              =%Efa15%= Hellgelb    =%Efa15%=
echo              =%Efa16%= Weiss       =%Efa16%=
choice /n /c:WSD
if errorlevel 255 goto e-farben
if errorlevel 3 goto ehauswahl
if errorlevel 2 goto ehrunter
if errorlevel 1 goto ehhoch
if errorlevel 0 goto e-farben
:ehhoch
if "%Efa1%"=="X" set Efa1= &&set Efa16=X&&color f%Vfarbe%&&goto e-farben
if "%Efa2%"=="X" set Efa2= &&set Efa1=X&&color 0%Vfarbe%&&goto e-farben
if "%Efa3%"=="X" set Efa3= &&set Efa2=X&&color 8%Vfarbe%&&goto e-farben
if "%Efa4%"=="X" set Efa4= &&set Efa3=X&&color 7%Vfarbe%&&goto e-farben
if "%Efa5%"=="X" set Efa5= &&set Efa4=X&&color 1%Vfarbe%&&goto e-farben
if "%Efa6%"=="X" set Efa6= &&set Efa5=X&&color 9%Vfarbe%&&goto e-farben
if "%Efa7%"=="X" set Efa7= &&set Efa6=X&&color 2%Vfarbe%&&goto e-farben
if "%Efa8%"=="X" set Efa8= &&set Efa7=X&&color a%Vfarbe%&&goto e-farben
if "%Efa9%"=="X" set Efa9= &&set Efa8=X&&color 3%Vfarbe%&&goto e-farben
if "%Efa10%"=="X" set Efa10= &&set Efa9=X&&color b%Vfarbe%&&goto e-farben
if "%Efa11%"=="X" set Efa11= &&set Efa10=X&&color 4%Vfarbe%&&goto e-farben
if "%Efa12%"=="X" set Efa12= &&set Efa11=X&&color c%Vfarbe%&&goto e-farben
if "%Efa13%"=="X" set Efa13= &&set Efa12=X&&color 5%Vfarbe%&&goto e-farben
if "%Efa14%"=="X" set Efa14= &&set Efa13=X&&color d%Vfarbe%&&goto e-farben
if "%Efa15%"=="X" set Efa15= &&set Efa14=X&&color 6%Vfarbe%&&goto e-farben
if "%Efa16%"=="X" set Efa16= &&set Efa15=X&&color e%Vfarbe%&&goto e-farben
...zur Frage

Was ist hier der Fehler (Batch)?

set input=
set /p input= Versionsnummer:
if %input%GTR2010 goto r
if %input%LEQ2010 goto f

So sollte es funktionieren: Ist %input% größer als "2010" gehe zu Sprungmarke r. Ist %input% kleiner oder gleich groß wie "2010" gehe zu Sprungmarke f. Stattdessen schließt sich aber das Skript.

...zur Frage

Wie kann ich mit Batch aus einer Quelldatei mit einer FOR-Schleige GANZE Zeilen auslesen?

Ich habe mir bereits eine FOR-Schleife zu diesem Zwecke geschrieben, alledings bekomme ich leider nie die gesamte Zeile raus, sondern nur das erste Wort. Hier ist ein Beispiel:

Quelle.txt:

Hallo Alice!
Ich bin eine Testdatei.
Freut mich, dass du da bist.

Auslesen.bat:

@echo off
FOR /f %%f IN (Quelle.txt) DO echo %%f
pause >NUL

Kommandozeilenoutput:

Hallo
Ich
Freut

Danke für eure Hilfe! :)

...zur Frage

Wo liegt der Fehler in der Batch datei?

Hey. Ich setzte mich gerade mit Batch Dateien auseinander bin aber noch nicht so weit. Gerade versuche ich eine Website Pinger zu bauen. Der geht aber nicht wodran liegt der Fehler? Wahrscheinlich ist es ein recht offensichtlicher Fehler den nur ich net sehe.

:START
@echo off
cls
title Website Pinger
echo.
echo Bitte trage die Website ein die du anpingen moechtest
echo.
set /p website= Bitte trage deine Website Domain/IP ein:
echo.
echo IP Adresse:
ping %website%
echo.
echo.
echo Moechten sie die angegebende Website Oeffnen? (j / n)
set /p wahl=
if '%wahl%'=='n' goto START
if '%wahl%'=='j' goto oeffnen
:oeffnen
iexplore.exe %website%

LG Ben

...zur Frage

wie kann ich diese batch datei besser bzw anderes schreiben?

@echo off

color 02 

title jump

:start

cls

echo niemals S druecken 

echo.

echo _________________________________________________

echo.

echo.

echo.

echo.

echo ________0________________________________________

echo.

choice /c:wds /m "druecke W um zu springen und D um nachforne zu gehen:"

if %errorlevel%==1 goto jump

if %errorlevel%==2 goto forward

if %errorlevel%==3 goto gameover

pause

:forward

cls

echo.

echo.

echo _________________________________________________

echo.

echo.

echo.

echo.

echo _________0_______________________________________

echo.

choice /c:wa /m "druecke W um zu springen und A um nachforne zu gehen:"

if %errorlevel%==1 goto jumpp

if %errorlevel%==2 goto start 

:jump

cls

echo.

echo.

echo _________________________________________________

echo.

echo.

echo.

echo     0

echo _________________________________________________

echo.

goto time 

:time

ping localhost >nul

goto start 

:jumpp

cls

echo.

echo.

echo _________________________________________________

echo.

echo.

echo.

echo     0

echo _________________________________________________

echo.

ping localhost >nul

goto forward

:gameover

cls

echo.

echo.

echo _________________________________________________

echo.

echo.

echo.

echo.

echo ________0________________________________________

echo.

ping localhost >nul

cls

echo niemals S druecken 

echo.

echo _________________________________________________

echo.

echo.

echo.

echo     0 

echo ________ ________________________________________

echo.

ping localhost >nul

cls

echo niemals S druecken 

echo.

echo _________________________________________________

echo.

echo.

echo.

echo.      

echo ________0________________________________________

echo.

ping localhost >nul

cls

echo niemals S druecken 

echo.

echo _________________________________________________

echo.

echo.

echo.

echo      

echo ________ ________________________________________

echo.

ping localhost >nul 

cls

echo.

echo.

echo.

echo   ~GAMEOVER!~

ping localhost >nul

ping localhost >nul 

goto entscheidung

:entscheidung

echo willst du neu starten

choice /c:yn /m "y=ja n=nein:"

if %errorlevel%==1 goto start 

if %errorlevel%==2 exit 

danke für hilfreiche antworten :)

...zur Frage

Was möchtest Du wissen?