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
GELÖST

In welchem Verzeichnis liege ich? (fragt die Batch-Datei)

Frage Entwicklung Batch & Shell

Mitglied: tension76

tension76 (Level 1) - Jetzt verbinden

04.05.2006, aktualisiert 05.05.2006, 55064 Aufrufe, 9 Kommentare

Wie bekomme ich innerhalb der Batch-Datei heraus, in welchem Verzeichnis sich selbige befindet?

Hallo zusammen. Ich bin neu. Grüß euch!

Ich scheine zu blöd zu sein, um das im Forum zu finden. Kann mir eigentlich nicht vorstellen, dass das soweit hergeholt ist.
Vielleicht ists aber auch nur so einfach, dass das eh alle wissen.

Die Frage sollte inzwischen klar sein, aber hier nochmal im Detail:
- Ich muss innerhalb einer Batch-Datei verschiedene Programme aufrufen.
- Diese liegen alle im selben Verzeichnis wie meine Batch-Datei.
- Allerdings wird die Batch-Datei von einem anderen Ordner aus aufgerufen.
- Das scheint zur Folge zu haben, dass die Programme in JENEM Ordner gesucht werden (und natürlich nicht gefunden werden).
- Nun will ich also den absoluten Pfad vor die jeweiligen Programme setzen.
- Allerdings kenn ich diesen nicht, und er kann auch nicht als Parameter an die Batch-Datei übergeben werden.

Lange Rede kurzer Sinn:
Wie heißt der Befehl/Parameter, in dem das Verzeichnis der 'eigenen' Batch-Datei steht?

Danke euch.
Gruß
tension
Mitglied: miniversum
04.05.2006 um 12:42 Uhr
Das aktuelle Verzeichnis steht in der Variablen %cd%.
Du kannst es dir also mit
echo %cd%
anzeigen lassen oder mit
%cd%\Programm.exe
ein Programm starten.

miniversum
Bitte warten ..
Mitglied: Biber
04.05.2006 um 13:01 Uhr
Moin tension, Grüß Dich auch,
Demo:
01.
(=13:01:15  D:\temp=) 
02.
>f:\Administrator\whereIam.bat 
03.
::-----snipp WhereIam.bat 
04.
@type %0 
05.
@echo %0 liegt in %~dp0 
06.
::-----snapp WhereIam.bat 
07.
f:\Administrator\whereIam.bat liegt in f:\Administrator\ 
Alternativ zum Setzen des per %~dp0 ermittelten Pfades vor alle untergeordneten Bätche kannst Du auch einmalig in der "ersten" Datei mit
PushD "%~dp0"
in dieses Verzeichnis wechseln und am Ende wieder mit
PopD
den alten Zustand wiederherstellen.
Gruß
Biber
Bitte warten ..
Mitglied: leknilk0815
04.05.2006 um 13:06 Uhr
Hi,
vielleicht steh ich auf der Leitung, aber irgendwie verstehe ich da was nicht.
Wenn Deine Programme unter z.B. c:\prog liegen und Deine Batch unter c:\bat, Du den Pfad c:\prog nicht weißt, was nützt es Dir dann zu wissen, daß die Batch in c:\bat liegt?
Die Programme kannst Du trotzdem nicht starten, da Dir der Pfad fehlt.

Gruß - Toni
Bitte warten ..
Mitglied: tension76
04.05.2006 um 13:23 Uhr
@alle:
Danke für "sich überhaupt damit beschäftigen"!

@Biber:
Danke für die Lösung!!!
Danke für das schöne Wort "Bätche"! Werde ich in meinen Wortschatz aufnehmen

@miniversum:
%CD% ist leider der Pfad zu dem Verzeichnis, von dem die BAT aufgerufen wurde, aber nicht zu dem Verzeichnis in dem sich die BAT physikalisch befindet.
trotzdem Danke.

Frage ist beantwortet!
Danke!
lg
tension
Bitte warten ..
Mitglied: Biber
04.05.2006 um 13:39 Uhr
Danke für das schöne Wort "Bätche"! Werde ich in meinen Wortschatz aufnehmen
Wenn Du öfters in diesen Bereich kommst, wirst Du auch die Koseform "mein Bätschelchen" noch kennenlernen..

Grüße
Biber
Bitte warten ..
Mitglied: cykes
04.05.2006 um 13:58 Uhr
Gibt der Aussage "Bätsch Biber" eine ganz neue Bedeutung
Bitte warten ..
Mitglied: miniversum
04.05.2006 um 19:00 Uhr
@miniversum:
%CD% ist leider der Pfad zu dem Verzeichnis, von dem die BAT aufgerufen wurde, aber nicht zu dem Verzeichnis in dem sich die BAT physikalisch befindet.
trotzdem Danke.

Achso bei mir gehts... Zeigt mir imemr den Pfad von der Batch Datei an...
Oder hab ich dien Problem falsch verstanden?

miniversum
Bitte warten ..
Mitglied: Biber
05.05.2006 um 13:38 Uhr
Moin miniversum,

ich habe in den Schnipsel von gestern noch eine Zeile eingefügt.
Dann wird der Unterschied zwischen %cd% und %~dp0 deutlich, denke ich.
01.
>f:\Administrator\whereIam.bat 
02.
::-----snipp WhereIam.bat 
03.
@type %0 
04.
@echo Aktuelles Verzeichnis ^(%%CD%%^):[%cd%] 
05.
@echo %0 liegt in %~dp0 
06.
::-----snapp WhereIam.bat 
07.
Aktuelles Verzeichnis (%CD%):[D:\temp] 
08.
f:\Administrator\whereIam.bat liegt in f:\Administrator\ 
Schönes Wochenende
Biber
Bitte warten ..
Mitglied: scriptkiddy
05.05.2006 um 22:10 Uhr
Echt wieder Super biber,

Ich glaube dieses wird auch mal in einer batch von mir anwendung finden....

Grüße Scriptkiddy
Bitte warten ..
Ähnliche Inhalte
Entwicklung
gelöst Verzeichnise sichern mit batch datei (Win10) (13)

Frage von Limbach zum Thema Entwicklung ...

Batch & Shell
gelöst Dateinamen mit Batch-Datei ändern - Problem (9)

Frage von fffffuuuuuuuhhhh zum Thema Batch & Shell ...

Batch & Shell
gelöst Teile eines Dateinamens ändern mit Batch Datei (4)

Frage von fffffuuuuuuuhhhh zum Thema Batch & Shell ...

Batch & Shell
gelöst Bestimmte Daten aus CSV per Windows BATCH Datei in .txt Format schreiben lassen. (9)

Frage von freshman2017 zum Thema Batch & Shell ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(10)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (26)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Brauche Hilfe: Mit (schnellem) WLAN Strecke überbrücken (23)

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

Basic
Programmierung von Windows Programmen (10)

Frage von Ghost108 zum Thema Basic ...