Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
Kommentar vom Moderator Biber am 02.08.2009 um 17:13:17 Uhr
Titel bearbeitet.
Originaltitel war "Speicherort der Batchdatei auslesen, nur wie?" - den habe ich gekürzt.
Diese "..., nur wie?" / "..., aber womit?" / ".., aber richtig!" -Anhängsel hebt Euch bitte für Diskussionen mit Vertreibern glutenfreier Bandscheibenmassageöle auf oder für F.D.P.-Landesparteitage.
In "Batch & Shell" sind solche Hingucker-Phrasen entbehrlich.
GELÖST

Speicherort der Batchdatei auslesen

Frage Entwicklung Batch & Shell

Mitglied: JulianB

JulianB (Level 1) - Jetzt verbinden

31.07.2009, aktualisiert 18.10.2012, 11811 Aufrufe, 8 Kommentare

Ich versuche den Speicherort einer Batchdatei auszulesen.

Hallo zusammen,

hatte schon lange vor mich hier anzumelden, jetzt musste es sein. Folgendes Problem quält mich:

Ich habe eine Batchdatei, diese wird auf verschiedenen Rechnern, je nach Benutzer an verschiedenen Speicherorten angelegt und später vom Desktop via Verknüpfung aufgerufen. Ich weiß nie genau wo diese Batchdatei später liegen wird. Die Aufgabe der Batchdatei ist es, Dateien vom Netzwerk in das Verzeichnis zu kopieren, in welcher die Batchdatei selbst liegt. Dazu muss ich allerdings herausfinden, in welchem Verzeichnis sie denn nun genau liegt. Und ich weiß nicht wie,...gibt es eine Möglichkeit, durch einen Befehl oder ähnliches in der Batch selbst den eigenen Speicherort herauszufinden?

Als Beispiel (klingt doch recht verworren oben):

Rechner1: Batch liegt in C:\User\Data\Ordner1
Rechner2: Batch liegt in Z:\Data\dwwd\Copy
Rechner3: Batch liegt in X:\Ordner\Ordner2\temp

So nun muss ich den Pfad rausbekommen der zu meiner Batch führt. Ein Aufruf meines Skripts sieht zum Beispiel so aus:

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

Ein CD oder CHDIR gibt mir jetzt "C:\Programme\Support Tools" zurück, ich aber MUSS das hier wissen "C:\dev\XXXX\Temp"

Ich hoffe es ist verständlich.

LG, Julian
Mitglied: godlie
31.07.2009 um 16:06 Uhr
Hallo,
sorry hab den letzen satz übersehen mal einen moment....

sodala

also mit echo %0 bekommst du den aufrufenden Pfad
Bitte warten ..
Mitglied: Pjordorf
31.07.2009 um 16:13 Uhr
Hallo,

auf den Desktop des Anwenders mit \\pc\c$\dokument....\desktop gehen und dir die verknüpfungeeigenschaften anzeigen lassen. Dann hast du den Pfad erstmal WO die Batchdatei gespeichert ist.

Warum nicht die Batchdatei auf dem Server abgelegt und von dort mittels verknüpfung auf den desktop Öffnen. dann weist du IMMER wo deine Batchdatei gespeichert ist.

Peter
Bitte warten ..
Mitglied: godlie
31.07.2009 um 16:15 Uhr
Ähm ein wenig aufwendig oder?
vorallem wie willst du das innerhalb einer bat machen?
Bitte warten ..
Mitglied: paulepank
31.07.2009 um 16:22 Uhr
Hallo Julian,

%~dp0 wird wohl das sein was du suchst.

01.
echo %~dp0
würde bei deinem Bsp c:\dev\xxxx\temp\ ausgeben.

cu paulepank
Bitte warten ..
Mitglied: Seardan
31.07.2009, aktualisiert 18.10.2012
Hallo,

wie sieht es den mit dieser Anleitung aus:

http://www.administrator.de/wissen/aktuellen-pfad-der-cmd-batch-auslese ...

Sollte es jawohl sein.

Andreas
Bitte warten ..
Mitglied: bastla
31.07.2009 um 16:37 Uhr
@Seardan
In dieser Anleitung wird beschrieben, wie der aktuelle Pfad gefunden wird - dieser muss keineswegs mit dem Speicherort der Batchdatei übereinstimmen - Beispiel: Die Batchdatei "Kopiere.cmd" liegt in "C:\Utils" und wird von der Kommandozeile aus wie folgt gestartet:
D:\Test>C:\Utils\Kopiere Parameter1 Parameter2
Der aktuelle Pfad (%cd%) bleibt, solange er nicht durch den Batch verändert wird, "D:\Test", während das angesprochene "%~dp0" als Ergebnis "C:\Utils\" liefert.

In einer Verknüpfung kann ebenfalls per "Ausführen in" ein anderer "aktueller Pfad" für den Batch vorgegeben werden.

Grüße
bastla
Bitte warten ..
Mitglied: paulepank
01.08.2009 um 08:20 Uhr
Hallo godlie,

also mit echo %0 bekommst du den aufrufenden Pfad

1. dem ist nicht so.
2. ist es schlechter Stil, seinen eigenen Beitrag Stunden später mit Erkenntnissen zu editieren, die
zudem auch noch falsch sind und niemand davon benachrichtigt wird........
3. ..... es sei denn, man sieht mal nach ob Julian den Beitrag als gelöst markiert hat.

cu paulepank
Bitte warten ..
Mitglied: JulianB
12.08.2009 um 10:42 Uhr
Hallo Zusammen,

entschuldigung das ich mich erst jetzt melde. Hatte ne Woche Urlaub. Erst einmal vielen vielen Dank für die vielen hilfreichen Antworten. Die Lösung mittels "%~dp0" hats im endeffekt gebracht. Genau danach hatte ich gesucht!

Echt richtig super, danke!

Liebe Grüße, Julian
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Mit Batchdatei Informationen auslesen und diese strukturiert in Excel ausgeben (9)

Frage von Flodsche zum Thema Batch & Shell ...

Batch & Shell
gelöst Auslesen und Vergleichen Zweiter CSV Dateien Powershell (7)

Frage von Hainoon zum Thema Batch & Shell ...

Batch & Shell
gelöst Batchdatei für Aufgabenplanung zum Löschen von Backups (2)

Frage von Winuser zum Thema Batch & Shell ...

Batch & Shell
gelöst Laufwerkgröße der Clients auslesen (6)

Frage von michi-ffm zum Thema Batch & Shell ...

Neue Wissensbeiträge
Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(2)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Viren und Trojaner

Neue Magazin Ausgabe: Malware und Angriffe abwehren

Information von Frank zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Systemdateien
Warum System auf "C:" (29)

Frage von DzumoPRO zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
Cisco SG200: Auf bestimmtem vLAN bestimmte TCP-Ports sperren (16)

Frage von SarekHL zum Thema LAN, WAN, Wireless ...

Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Cloud-Dienste
gelöst Bitcoins minen über Nacht? (16)

Frage von 1410640014 zum Thema Cloud-Dienste ...