Überprüfen ob Batch im korrekten Ordner liegt

Isias83
Hallo,

ich würde gerne nochmal eure Hilfe in Anspruch nehmen, zwar hat die Suche doch einiges ausgeworfen, aber so ganz habe ich nicht gefunden was ich wissen wollte. Ich möchte das die .bat von sich aus überprüft, ob sie im korrekten Verzeichnis ausgeführt wird. Dafür dachte ich, würde es ausreichen wenn ich das ganze mit if exist angehe. Das Problem ist, das hierbei anscheinend die kompeltte Platte als Referenz dient, ob Verzeichnissname1 existiert, dementsprechend ist das Ergebniß natürlich immer positiv.

Ich möchte aber das die Batch nur folgendes prüft:

Ist das Verzeichnis in dem ich liege und ausgeführt werde das Verzeichnis mit dem Namen Verzeichnisname1
Wenn ja, gut, Batch soll durchlaufen
Wenn nein, schlecht, Batch soll ausgeben das sie nicht im korrekten Verzeichnis Verzeichnissname1 liegt sondern sonstwo

Einen absoluten Pfad kann ich nicht verwenden, da die .bat auf verschiedenen Rechner ausgeführt werden wird. Das ganze muß also relativ zum Scriptdir gehalten sein.

Hier der Codeschnipsel:

Danke das ihr euch das ganze mal angesehen habt.

Content-Key: 66433

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

Ausgedruckt am: 21.01.2022 um 22:01 Uhr

Mitglied: Iwan
Iwan 17.08.2007 um 08:13:45 Uhr
Goto Top
ich hatte gehofft, das es so funktioniert, aber irgendwo hab ich wohl einen Fehler drin, weil sich das CMD sofort wieder schliesst
Mitglied: bastla
bastla 17.08.2007 um 09:43:37 Uhr
Goto Top
Hallo Isisas83!

Einen absoluten Pfad kann ich nicht verwenden, da die .bat auf verschiedenen Rechner ausgeführt werden wird. Das ganze muß also relativ zum Scriptdir gehalten sein.
Du könntest also eigentlich nur das Vorhandensein von "Verzeichnisname1" innerhalb des aktuellen Pfades überprüfen, also:

Grüße
bastla

P.S.: Wo die Batchdatei selbst "liegt", kannst Du durch Auswertung von %0 feststellen, für den Pfad also: echo %~p0
Mitglied: TuXHunt3R
TuXHunt3R 17.08.2007 um 09:45:05 Uhr
Goto Top
Versuchs mal so (nicht getestet):

Mitglied: Isias83
Isias83 17.08.2007 um 15:55:07 Uhr
Goto Top
Erstmal danke für eure Antworten. Die oberen 2 Ansätze bringen mich leider nicht weiter, da ich den Pfad variabel halten will, damit die Abfragen auf verschiedenen Systemen funktioniert.

Bei deiner Lösung Bastla erkennt er zwar ob der Verzeichnisname1 stimmt und springt korrekt weiter, aber wenn der Verzeichnisname1 nicht stimmt, gibt er die Echo Meldung leider nicht aus.

Da mich das ohnehin interessieren würde, kann ich nicht

1. den Pfad in einer Variablen speichern via
2. dann die Variable Verzeichnispfad aufrufen und alles löschen bis auf den letzten Eintrag (der in meinem Fall ja dann der Ordner wäre in dem die Batch liegt)
3. und dann ganz einfach mit einer IF Abfrage feststellen ob der letze Wert = Verzeichnisname1 ist
Mitglied: bastla
bastla 17.08.2007 um 16:18:49 Uhr
Goto Top
Hallo Isias83!

... gibt er die Echo Meldung leider nicht aus.
ist nicht nachvollziehbar, aber egal - dann eben so:

Grüße
bastla
Mitglied: Isias83
Isias83 17.08.2007 um 17:34:53 Uhr
Goto Top
So, jetzt klappts, danke bastla für die erneute Schützenhilfe. Ich habs noch etwas erweitert wie folgt:
Jetzt klappt alles wie es sein sollte, danke dir! Beitrag als gelöst markiert.
Mitglied: bastla
bastla 17.08.2007 um 17:51:10 Uhr
Goto Top
Hallo Isias83!

Deine Erweiterungen finde ich verbesserungswürdig ...

Aus
folgt: Wenn nicht "goto" ausgeführt wurde, ist dadurch ohnehin schon sicher, dass %Verzeichnispfad% nicht gleich "maps" ist, daher ist die zweite Abfrage überflüssig und es könnte gleich der Fehlertext ausgegeben werden.

Vielleicht als abschließende Version daher:
Das Label ":Verzeichnisstimmtnicht" hat dabei nur eine Kommentarfunktion, wird aber nicht benötigt.

Grüße
bastla
Heiß diskutierte Beiträge
question
Welche Linux Distribution kommt ohne Schnick und ohne Schnack?StefanKittelVor 22 StundenFrageLinux21 Kommentare

Hallo, ich möchte zwei neue Mini-PCs (Celeron, 2 x 1.7 GHz, 4 GB RAM, 64 GB Storage) mit Linux Desktop installieren. Darauf soll einzig Chrome ...

question
MFA mit Microsoft?cseVor 1 TagFrageWindows Userverwaltung6 Kommentare

Hi Leute, ich hoffe ihr könnt mir ein wenig helfen. Von unserer Gruppe (central IT im Ausland) verlange ich (im Zuge TISAX Audit) auf unseren ...

question
O365 Outlook + Teams sperren gelöst sraL91Vor 1 TagFrageMicrosoft Office17 Kommentare

Hallo Zusammen, wir haben in unserer Firma Office 365 ausgerollt und ich stehe nun vor folgendem Problem. Unsere Firma sind in 50 Standorte unterteilt und ...

general
Liste von URLs in wininet.dllFennek11Vor 13 StundenAllgemeinInternet12 Kommentare

Hallo, die Frage ist zugleich enrsthaft und Satire: Windows enthält die Datei "c:\windows\system32\wininet.dll", die für viele Verbindungen ins Internet benötigt wird. Ein Blick in die ...

question
PC - Komplettsicherunggreenhorn1Vor 1 TagFrageBackup10 Kommentare

Hallo, welche Möglichkeit gibt es an Sicherungen, wo man das gesamte System Win10 sichern kann? Sodass ich mit einer Sicherung einen neuen PC 1 zu ...

question
Gebrauchte SQL-Lizenz im Rechenzentrum möglich?karin1511Vor 1 TagFrageMicrosoft4 Kommentare

Moin aus Hamburg, vielleicht kann mir zufällig jemand helfen oder von seiner Erfahrung berichten. Ich habe vor 8 Jahren mehrere SQL-Server-Lizenzen gebraucht gekauft, welche damals ...

question
2 Faktor Authentifizierung generell abschaltenratzekahl1Vor 15 StundenFrageGoogle Android9 Kommentare

Hallo zusammen, ich habe eine Frage: Kann ich in Google die 2 Faktor Authentifizierzung generell abschalten? Wenn ich ein Gerät als vertrauenswürdig hinzugefügt habe, ja, ...

question
Netzwerk Grafisch darstellen?FireWorldVor 8 StundenFrageInternet7 Kommentare

Hallo, ich bin der Zeit auf der Suche nach einem Programm zur Grafischen Darstellung von inbound/outbound eines Servers in einem Rechenzentrum. Hat Jemand eine idee ...