Supportnet Computer
Planet of Tech

Supportnet / Forum / Anwendungen(Java,C++...)

Eine Datei über Batchdatei ausführen lassen, obwohl Name nicht komplett bekannt





Frage

Hallo Gemeinde, ich habe da mal wieder ein Problem in der Batchprogrammierung. Ich möchte gerne eine bestimmte Datei/Proramm starten lassen, kenne aber nicht den genauen Namen der Datei. Bekannt sind lediglich der Pfad wo die Datei liegt, der Anfangsbuchstabe der Datei und die Dateiendung. Pfad: C: \DGG z.B. Dateiname: PUSZ1.ws Wie kann ich nun diese Datei starten, ohne das ich den kompletten Dateinamen kenne? Hatte mal ausprobiert start "C:\DGG\P*.ws" - aber das hatte natürlich net funktioniert. Hat jemand von euch vielleicht eine Idee? Für eure Hilfe, bin ick euch im vorraus wieder sehr dankbar. Liebe Grüße, ITS304

Antwort 1 von Dixi

start C:\DGG\P????.ws

Antwort 2 von IT304

Also dat habe ick jerade ausprobiert. Und es kommt immer die selbe Fehlermeldung. Datei "C:\DGG\P????.ws" konnte nicht gefunden werden.

Hier mal dat Script:

if exist C:\DGG\P????.ws goto Open
if not exitC:\DGG\P????.ws goto Fehler_Quelle

:Open
start C:\DGG\P????.ws
GOTO ENDE

:Fehler_Quelle
@echo off
net send %computername% Hallo, %username%, auf Ihrem Rechner ist das entsprechende Programm
nicht richtig oder gar nicht installiert. Bitte wenden Sie sich an den Systemadministrator.
@echo on
GOTO ENDE

:ENDE

Was lustig ist, erkennt das die Datei da ist, aber führt sie trotzdem nicht aus.

Mfg,
ITS304

Antwort 3 von Das_Urmel

for /f %i in (´dir p????.ws /b´) do echo %i

Michael

Antwort 4 von IT304

Hallo,

da ick mich noch net wirklich in Programmierung von Batches auskenne, erkenne ick leider keinen Zusammenhang in diesem Befehl

for /f %i in (´dir p????.ws /b´) do echo %i

Was macht dieser Befehl im genaueren?

Die Anzahl des ? - Zeichens stehn doch nicht für die Anzahl der Buchstaben die nochfolgen, oder?

Es kann nämlich möglich sein, das die Datei mal "PUSZ1.ws" und mal "PUSZ10.ws" oder auch nur "PUSZ.ws" heißen kann.

Mfg,
ITS304

Antwort 5 von charly123

es muss wohl heißen

for %%i in (c:\pfad\p*.ws) do start %%i

tut folgendes:
die Variable %%i wird nacheinander mit allen Dateien belegt, die der angebenenen Form (p*.ws) entsprechen, anschließend wird ein start mit dieser Datei ausgeführt.

Wenn mehrere Dateien dieser Form entsprechen, werden sie alle nacheinander gestartet.

Antwort 6 von IT304

SUPER !!!

Danke, Charly123 - hat wunderbar geklappt.

Wieder ein Problem weniger auf dieser Welt. *sfg*

MfG,
ITS304