WinFuture-Forum.de: Zeile überspringen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Zeile überspringen


#1 Mitglied ist offline   L4a-Thompson 

  • Gruppe: Mitglieder
  • Beiträge: 13
  • Beigetreten: 28. August 05
  • Reputation: 0

geschrieben 02. September 2005 - 14:22

besteht die möglichkeit
wenn etwas nicht installiert ist eine zeile zu überspringen

:DFUER
call :DFUE
call :Ruheraum
ping 127.0.0.1 -n 4 >NUL
call :xfire
ping 127.0.0.1 -n 4 >NUL
call :ICQ
goto exit

wie z.b. in diesem fall das keine fehler meldung kommt wenn xfire nicht gefunden werden konnte sondern das er es vorher überprüft und gegebnen falls diese zeile weg läst?
0

Anzeige



#2 Mitglied ist offline   puppet 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.852
  • Beigetreten: 27. April 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Rudoltown

geschrieben 02. September 2005 - 14:29

Wie wäre es mit
if exist "c:\programme\foo\bar.exe" call :bla
oder
if not exist "c:\programme\foo\bar.exe" goto next?
0

#3 Mitglied ist offline   L4a-Thompson 

  • Gruppe: Mitglieder
  • Beiträge: 13
  • Beigetreten: 28. August 05
  • Reputation: 0

geschrieben 02. September 2005 - 14:33

naja xfire steht ja in der mitte und mit goto müste ich ja wieder eine sprungmarke einbauen ich möchte aber das er den call :xfire string überspringt und gleich zu call :icq geht
0

#4 Mitglied ist offline   puppet 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.852
  • Beigetreten: 27. April 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Rudoltown

geschrieben 02. September 2005 - 14:37

Na dann schreibst du einfach die IF-Abfrage vor beide Zeilen (also vor die mit dem call und die mit dem ping (?)).
0

#5 Mitglied ist offline   L4a-Thompson 

  • Gruppe: Mitglieder
  • Beiträge: 13
  • Beigetreten: 28. August 05
  • Reputation: 0

geschrieben 02. September 2005 - 14:39

wenn ich da nur wüßte wie ich es formulire das es diesen xfire string überspringt
0

#6 Mitglied ist offline   puppet 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.852
  • Beigetreten: 27. April 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Rudoltown

geschrieben 02. September 2005 - 14:46

Wo ist da das Problem :wink:
Bleistift:

Zitat

@echo off
setlocal
rem hier und da
sleep 4
if exist "C:\Programme\Media Player Classic\mplayerc.exe" call :mpc
if exist "C:\Programme\Media Player Classic\mplayerc.exe" sleep 4
if exist "C:\Programme\foobar2000\foobar2000.exe" call :foo
if exist "C:\Programme\foobar2000\foobar2000.exe" sleep 4
goto exit

:mpc
rem dies und das
startw "C:\Programme\Media Player Classic\mplayerc.exe"

:foo
rem noch mehr davon
startw "C:\Programme\foobar2000\foobar.exe"

:exit
endlocal
pause
-> Wenn die C:\Programme\Media Player Classic\mplayerc.exe also nicht vorhanden ist wird weder call :mpc noch sleep 4 ausgeführt, wobei du das sleep 4 ja auch in dein call mit reinschreiben kannst.

Dieser Beitrag wurde von puppet bearbeitet: 02. September 2005 - 14:47

0

#7 Mitglied ist offline   L4a-Thompson 

  • Gruppe: Mitglieder
  • Beiträge: 13
  • Beigetreten: 28. August 05
  • Reputation: 0

geschrieben 02. September 2005 - 14:51

naja wo das problem ist habe erst vor 2 wochen angefangen mit batch scripten und noch nie programiert
ok ich habs mal so gemacht

:DFUER
call :DFUE
call :Ruheraum
if not exist d:\xfire\xfire.exe call :ICQ & goto menue
ping 127.0.0.1 -n 4 >NUL
call :xfire
ping 127.0.0.1 -n 4 >NUL
call :ICQ

geht das so oder kann man bei dieser variante schwierigkeiten bekommen wenn man es bei anderen sachen einsetzt

einen direkten befehl wenn etwas nicht erfüllt wird überspringe diese zeile gibt es nicht seh ich das richtig?

Dieser Beitrag wurde von L4a-Thompson bearbeitet: 02. September 2005 - 14:55

0

#8 Mitglied ist offline   puppet 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.852
  • Beigetreten: 27. April 04
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Rudoltown

geschrieben 02. September 2005 - 15:00

Zitat (L4a-Thompson: 02.09.2005, 15:51)

:DFUER
call :DFUE
call :Ruheraum
if not exist d:\xfire\xfire.exe call :ICQ & goto menue
ping 127.0.0.1 -n 4 >NUL
call :xfire
ping 127.0.0.1 -n 4 >NUL
call :ICQ

Ich würde das aber lieber mit Klammern machen:

Zitat

:DFUER
call :DFUE
call :Ruheraum
if not exist d:\xfire\xfire.exe (
call :ICQ
goto menue
)
ping 127.0.0.1 -n 4 >NUL
call :xfire
ping 127.0.0.1 -n 4 >NUL
call :ICQ


Zitat (L4a-Thompson: 02.09.2005, 15:51)

einen direkten befehl wenn etwas nicht erfüllt wird überspringe diese zeile gibt es nicht seh ich das richtig?
Genau das machst du doch mit IF, du prüfst z.B. ob die Datei vorhanden ist, wenn ja soll der Befehl dahinter ausgeführt werden, und wenn nicht wird der Befehl dahinter überprungen. Und wenn du die Zeile danach auch überpringen willst schreib die IF Abfrage da einfach nochmal hin, siehe Bsp oben.

Dieser Beitrag wurde von puppet bearbeitet: 02. September 2005 - 15:03

0

#9 Mitglied ist offline   L4a-Thompson 

  • Gruppe: Mitglieder
  • Beiträge: 13
  • Beigetreten: 28. August 05
  • Reputation: 0

geschrieben 02. September 2005 - 15:13

ok dann danke ich dir
ich dachte das es etwas gibt womit man das extra schreiben von call und goto menue umgehen kann und somit wirklich nur eine zeile überspringt

weil wenn ich jetzt wesentlich mehr call`s hinterein ander habe und immer wieder diese abfrage dann muß ja jedes mal alle folgenden call`s wieder aufgelistet werden
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0