Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo zusammen,

ich wusste nicht genau wohin damit. Also hab ichs mal hierher gepackt.

Meine Frage ist die folgende, ich schreibe gerade ein Batch welches mir aus einem Netzlaufwerk Dateien auf meinen lokalen PC holt. Soweit so gut, das Problem welches ich nun habe ist, das ich die Dateien, welche ich kopieren möchte immer an den Punkt packen will, an welchem die Batchdatei selbst liegt. Dieser Ort ist aber variable, sprich die Batch kann man auf Festplatte C: liegen oder D: oder Z:, aber auch in Ordner1, Ordner2 oder OrdnerABC. Sprich an völlig unterschiedlichen Orten, wie bekomme ich jetzt raus, in welchem Ordner sich meine Batchdatei befindet?

Beispiel:

Rechner1: Batch liegt in C:\User\Data\Ordner1

Rechner2: Batch liegt in Z:\Data\dwwd\Copy

Rechner3: Batch liegt in X:\Ordner\Ordner2\temp

Meine Dateien sollen immer an den Ort gepackt werden, in welchem sich auch die Batch selbst befindet. Dazu muss ich eben diesen Ort feststellen, ihn in einer Variable speichern und die Dateien dann nach Variable X kopieren. Soweit klar, nur wie bekomme ich den Ort raus an dem meine Batch liegt???

Ich steh auf dem Schlauch, bitte helft mir,....

LG, Julian

Wie soll das denn klappen, ich weiß ja nicht wohin ich wechseln möchte. Ich möchte den Standort der Batchdatei auf meinem lokalen System haben. Sprich wenn die Datei unter: C:\Test\Batchskripts\abc.bat liegt, dann brauche ich einen Befehl welcher mir genau diesen Pfad zurückliefert.

Ich kann das Skript ja durch die komplette Pfadangabe von jedem Ort meines PC's aufrufen, ein einfaches "cd" gibt mir nur das aktuelle Arbeitsverzeichnis zurück, ich brauche aber nicht das Arbeitsverzeichnis, sondern den Speicherort meiner Batchdatei.

LG, Julian

Irgendwie,..nicht das gewünschte:


C:\Programme\Support Tools>C:\dev\XXXX\Temp\test.bat

"Ausführen von chdir"

C:\Programme\Support Tools

So sieht meine Ausgabe aus, so meine Bat:

@echo off


echo "Ausführen von chdir"


chdir

Wo ist denn mein Fehler? Als Ausgabe erwarte ich "C:\dev\XXXX\Temp" anstelle von "C:\Programme\Support Tools".

LG, Julian

Gut habe ich mich wohl falsch ausgedrückt entschuldigung. Nein der Fall ist halt wie oben beschrieben, ich befinde mich irgendwo, genauso wie das Skript. Ich muss nur rausfinden wo sich das Skript befindet, gibts da ne möglichkeit?

LG und sorry,

Julian

hi JulianB,

wie wäre es damit:

@echo off

echo "Das ausgefuehrte Skript ist:"

echo %0

den String dann beschnibbeln wie du es gerne hättest.

mfg

Hallo zusammen,

die Lösung für mein Problem ist die folgende "%~dp0"

Wird also ein Skript aufgerufen, zum Beispiel so:

C:\Utils>D:\Test\CMD\test.bat

bekomme ich mittels "%~dp0" diesen Pfad ausgegeben: D:\Test\CMD

Und das war es was ich wollte. Vielen Dank für eure Hilfe. Hier kann jetzt dichtgemacht werden.

LG, Julian

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.