2 Befehle in der Commandline verknüpfen

easy.2ci

Commodore
Registriert
Mai 2006
Beiträge
4.390
Hi Leute,

ich sitz hier gerade an einem Programm, was zum ermitteln von einer Datei auf die cmd.exe zurückgreift. Der ausgeführte Befehl sieht derzeit so aus:

cmd.exe /C dir /b /s \\%COMPUTERNAME%\D$\PAKETQUELLEN\Anwendung1\*.pdf

Wenn keine pdf Datei gefunden wird lautet die Ausgabe so:
Datei nicht gefunden
Falls eine gefunden wird, wird der vollständige Pfad geliefert:
\\PC1\D$\PAKETQUELLEN\Anwendung1\Anwendung1.PDF

Das klappt soweit. Nun muss ich den fettgeschriebenen cmd Befehl so umbauen, daß nicht nur nach .pdf, sondern auch nach .sms Dateien gesucht wird. Es gibt immer nur 1 Datei von den 2 Möglichkeiten. Mal eine .pdf und mal eine .sms.

Wie bekomme ich das in einem einzigen cmd Befehl hin?


Wär super wenn da einer was zu sagen kann. Hab schon mit "+" probiert 2 Befehle zu verknüpfen, aber das ging nicht so richtig.

Viele Grüße
 
Zuletzt bearbeitet:
Wie soll denn das Resultat dabei ausschauen?

Auf Anhieb fallen mir 2 Möglichkeiten ein:

1) cmd.exe /C dir /b /s *.pdf *.sms
Wenns nur jeweils eine gibt, sollte damit immer diese eine Datei zurückgegeben werden.

2) cmd.exe /C dir /b /s *.pdf || dir /b /s *.sms
 
Hi easy,
In der Konsole selber verknüpfst du 2 Befehle ganz einfach mit dem &-Zeichen.
Also, wenn du noch was besonderes möchtes wie zum Beispiel, dass der zweite Befehl nur ausgeführt wird, wenn der erste auch ausführbar ist dann machst du "&&"(ohne die Gänse dinger).
Wenn du aber willst das der zweite Befehle nur ausgeführt wird wenn der erste nicht funktioniert dann machst du "||".

Hoffe ich konnte dir helfen.
Gruß
 
Leute ihr habt mir schon prima weitergeholfen. Jetzt grübel ich nicht das Wochenende lang darüber, wie ich das am Montag anstelle.

Die Möglichkeiten mit && oder || kannte ich noch nicht. Allerdings kann ich || auch nicht brauchen, da hier immer 2 Zeilen zurückgegeben werden.

Was aber prima klappt ist Möglichkeit 1 von MATRIX_Morpheus

Hier nochmal der Output von meinem Spiele PC, wo ich grad dransitz:

Eingabe:
dir /b /s \\%COMPUTERNAME%\c$\aaa\*.pdf \\%COMPUTERNAME%\C$\aaa\*.sms

Ausgabe im Falle einer .sms Datei:
\\P3200\c$\aaa\OnDemand.sms


Das ist genau das was ich wollte. Bei

dir /b /s *.pdf || dir /b /s *.sms

kommt nämlich immer folgendes:

Datei nicht gefunden
C:\aaa\OnDemand.sms


Herzlichen Dank Euch beide, Ihr habt was gut bei mir.
 
Zurück
Oben