Top-Themen

Aktuelle Themen (A bis Z)

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

Variabler Dateipfad in .bat

(Level 1)

27.03.2008, aktualisiert 07.04.2008, 7125 Aufrufe, 6 Kommentare

Hi ist ne ganz kurze sache.
ich habe mir ne kleine *.bat Datei geschrieben, die mir zwei programme öffnet.

call D:\Temp\Helpsoft\Programm1.exe
call D:\Temp\Helpsoft\Programm2.exe

ich möchte mir die Datei jetzt auf einen USB Stick machen, jedoch möchte ich nicht jedesmal den Laufwerksbuchtaben ändern. Ich möchte, das er immer den aktuellen Laufwerkbuchtaben nimmt, kann ja sein, das 2 USB Sticks angeschlossen sind und er dann nicht den richtigen Laufwerkbuchstaben aht, deswegen wäre variabel nicht schlecht.

In excel habe ich sowas schonmal gemacht mit "This.Workbookpath" pder so ähnlich.
gibt es hier diese funktion auch?

Danke schonmal.

Gruß
Mitglied: miniversum
27.03.2008 um 10:36 Uhr
Laufwerk der Batchdatei:
echo %~d0
Laufwerk und Pfad der Batchdatei:
echo %~dp0

Weiteres unter for /? ganz am Ende
Bitte warten ..
Mitglied: bastla
27.03.2008 um 11:13 Uhr
Hallo MichaelS87!

Wenn's nur um den Laufwerksbuchstaben geht, dann:
01.
call %~d0\Temp\Helpsoft\Programm1.exe 
02.
call %~d0\Temp\Helpsoft\Programm2.exe
Grüße
bastla
Bitte warten ..
Mitglied: miniversum
27.03.2008 um 11:55 Uhr
klappt noch nicht so ganz.

er öffnet es zwar, aber das steht da

D:\Temp>call D:\Temp\Tfes.pdf


in der batch selber steht

call %~d0\Temp\Tfes.pdf
Das stimt ja so. Wenn die Batch auf dem Laufwerk D: liegt stellt das %~d0 eben das D: dar.
wenn ich die batch jetzt aber in das selbe verzeichneis wie die Tfes.pdf kopiere und das \Temp weg mache, dann geht es nichtmehr. das sollte es doch oder?
Nein ist klar das es so nicht geht. Schau dir nochmal mein posting oben an.
%~d0 stellt NUR den laufwerksbuchstaben dar indem die Batch liegt. %~dp0 stellt Laufwerksbuchstaben UND verzeichnis dar indem die Batch liegt. Daher werden bei dir wenn du das /temp entfernst die Dateien ncith merh gefunden. wenn du die Batch im gleichen verzeichnis liegen hast ie die andern dateien dann must du also aus deinem
call %~d0\Temp\Tfes.pdf
ein
call %~dp0\Tfes.pdf
machen.
In diesem fall kannst du aber auch eigentlich gleich mit relativen Pfadangaben arbeiten und den aufruf nur so machen:
call Tfes.pdf
Bitte warten ..
Mitglied: bastla
27.03.2008 um 11:59 Uhr
Hallo MichaelS87!

wenn ich die batch jetzt aber in das selbe verzeichneis wie die Tfes.pdf kopiere und das \Temp weg mache, dann geht es nichtmehr. das sollte es doch oder?
Nicht unbedingt - Du erzeugst ja damit dann ein
01.
call D:\Tfes.pdf
Wie miniversum oben schon beschrieben hat, ist der Pfad der Batchdatei unter "%~dp0" zu erreichen - daher müsste es
01.
call %~dp0\Tfes.pdf
heißen.

Falls es auch noch Leerzeichen im Pfad gäbe, zusätzlich Anführungszeichen verwenden:
01.
call "%~dp0\Tfes.pdf"
Grüße
bastla

[Edit] @miniversum: Sorry, hatte nicht gesehen, dass Du wieder da bist .. [/Edit]
Bitte warten ..
Mitglied: miniversum
27.03.2008 um 18:45 Uhr
Also wenn die Batch vorher so funktionierte würde ich sagen das eine Änderung zu
set "Start=w\md01 w\md02 w\md03 w\md04 x\md01"
funktionieren sollte.
Das andere würde ich sicherheitshalber lieber nicht machen, denn sollte die Batch in einem Verzeichnis liegen das ein Leerzeichen enthält würde das zu problemen führen. Die alternative dazu würde dann besser so aussehen:
set "Start=w\md01 w\md02 w\md03 w\md04 x\md01"
und zusätzlich folgende Änderung:
for %%S in (%Start%) do for /f "delims=" %%A in ('dir /b /ad "%~dp0\%%S\%Maske%*.*" 2^>nul') do echo %%~nA$%%~fA >>"%List%"

miniversum
Bitte warten ..
Mitglied: Biber
07.04.2008 um 19:58 Uhr
Moin MichaelS87,

ich habe es so versucht, jedoch ohne erfolg.
set "Start=%~dp0\w\md01 %~dp0\w\md02 %~dp0\w\md03 %~dp0\w\md04 %~dp0\x\md01"
Dann können wirklich nur, wie miniversum schon schrieb, Leerzeichen im %dp0-Pfad der Klemmer sein.

Dann müssen wir etwas dicker auftragen:
set "Start="%~dp0\w\md01" "%~dp0\w\md02" "%~dp0\w\md03" "%~dp0\w\md04" "%~dp0\x\md01""

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Variable aus anderer Bat-Datei holen
gelöst Frage von asterixBatch & Shell7 Kommentare

Hallo zusammen Ich möchte in einer Bat-Datei eine variable aus einer anderen Bat-Datei holen. Wie schaff ich das nun, ...

Batch & Shell
Dateipfad abgreifen
Frage von Julian2222Batch & Shell4 Kommentare

Hallo, wenn man ja eine Datei öffnet, wird ja der Pfad der Datei dem Standardprogramm welches in Windows hinterlegt ...

Batch & Shell
Dateipfad ausgeben
gelöst Frage von tegwertBatch & Shell2 Kommentare

Hallo zusammen! Ich nutze folgende Zeile zur Ermittlung der Dateipfade einer bestimmten mehrfach vorkommenden Datei: for %%a in (F ...

Mac OS X
Auf Windows Dateipfade zugreifen von OSX
Frage von nd5000Mac OS X8 Kommentare

Hallo zusammen, Kollegen die Windows nutzen schicken immer wieder Mails mit Links zu Datein auf einem Netzlaufwerk. Zum Beispiel: ...

Neue Wissensbeiträge
Apple

Apple aktualisiert MacBook Pro, mit bis zu sechs Kernen

Information von Vision2015 vor 2 TagenApple

Jawohlchen das Warten hat sich gelohnt :-) Apple aktualisiert MacBook Pro Frank

Verschlüsselung & Zertifikate

In-place Upgrade verschlüsselter Windows-Systeme mittels reflectdrivers

Tipp von DerWoWusste vor 3 TagenVerschlüsselung & Zertifikate1 Kommentar

Hinter diesem sperrigen Titel verbirgt sich die Info, dass offenbar seit Win10 v1607 im Windows-Setup (setup.exe der CD/des USB-Sticks) ...

Instant Messaging
Ejabberd auf ubuntu
Anleitung von horstvogel vor 4 TagenInstant Messaging

Anliegend erstelle ich eine Anleitung für die Installation eines ejabberd auf einem Ubuntu Server. Die Anleitung ist derzeit noch ...

Windows Server

Fehler in MMC "Zertifizierungsstelle" - Hieroglyphen

Tipp von emeriks vor 4 TagenWindows Server2 Kommentare

Hi, nichts weltbewegendes, nur als Info für Euch. Bin eben drüber gestolpert: Setup 1x Windows Server 2016 Datacenter Core ...

Heiß diskutierte Inhalte
Microsoft
Dringend: Nach neustart kein zugriff mehr per RDP möglich - vermutlich wegen gelöschter SID in AD
gelöst Frage von sven784230Microsoft21 Kommentare

Hallo zusammen, gerade hat ein Server 2012 (terminalserver + Active directory) einen geplanten Neustart durchgeführt, wenn ich mich jetzt ...

Exchange Server
Exchange 2013 - Update schlägt fehlt
gelöst Frage von chb1982Exchange Server19 Kommentare

Hallo zusammen, kann sich jemand einen Reim auf die unten stehenden Fehlermeldung machen? Sie tritt auf beim Update von ...

Hardware
Alte Hardware verkaufen
Frage von Lebowski23Hardware19 Kommentare

Hallo, durch größere Umbauten haben einiges an Hardware "rumliegen", die wir vielleicht noch verkaufen wollen. Es sind so ca. ...

Windows Server
Active Directory Probleme DC sieht sich nicht selbst als DC DNS Fehler?
Frage von Cisco7971Windows Server12 Kommentare

Moin zusammen, Angefangen hat die Suche damit, dass der Anmeldedienst immer angehalten wird, bei einem Neustart des DC. nach ...