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, 52174 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (19)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...