Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Bat-Datei: changedir in anderes Laufwerk (https://www.delphipraxis.net/192618-bat-datei-changedir-anderes-laufwerk.html)

hoika 5. Mai 2017 08:13

Bat-Datei: changedir in anderes Laufwerk
 
Hallo,
ich habe hier eine Bat-Datei.

Ich muss in ein bestimmtes Verzeichnis auf C springen, z.B. c:\Temp.
Die Bat-Datei kann aber an beliebiger Stelle des Rechners stehen.

Ausgangspunkt
e:\
cd c:\temp
das klappt nicht

e:\
c:
cd c:\temp
das klappt

Aber:
Das Verzeichnis sollte möglichst einfach anpassbar sein, die Zeilen hier sind stark vereinfacht.

So soll das eigentlich aussehen
set mydir=c:\temp
hier fehlt mir das cd c:, sowas wie cd copy(%mydir%,1,2)
cd %mydir%

Ich muss also irgendwie der copy.Befehl


Weiss jemand, wie das geht?

hoika 5. Mai 2017 08:19

AW: Bat-Datei: changedir in anderes Laufwerk
 
Hallo,
kaum geschrieben

set mydir=c:\temp
set mydrive=%mydir:~0,2%

cd %mydrive%
cd %mydir%

auch zu finden unter http://www.dostips.com/DtTipsStringManipulation.php

bra 5. Mai 2017 08:59

AW: Bat-Datei: changedir in anderes Laufwerk
 
So müsste es auch gehen:

cd /d c:\temp

Der schöne Günther 5. Mai 2017 09:40

AW: Bat-Datei: changedir in anderes Laufwerk
 
Abschließender Tipp am Rande: Um sicher Verzeichnisse zu merken und dahin wieder zurück zu springen bieten sich auch die Befehle pushd/popd an

Ralf Kaiser 5. Mai 2017 09:47

AW: Bat-Datei: changedir in anderes Laufwerk
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1370290)
Abschließender Tipp am Rande: Um sicher Verzeichnisse zu merken und dahin wieder zurück zu springen bieten sich auch die Befehle pushd/popd an

Was dann noch zusätzlich den Vorteil hat, dass man auch mit Netzwerkpfaden arbeiten kann (man kann kein CD in einen Netzwerkpfad machen aber PUSHD mappt automatisch ein Laufwerk)

himitsu 5. Mai 2017 10:08

AW: Bat-Datei: changedir in anderes Laufwerk
 
Zitat:

Zitat von hoika (Beitrag 1370274)
set mydrive=%mydir:~d%

Für Pfade gibt es PfadManipulatoren. Da doch bitte möglichst nicht mit StringManipulatoren arbeiten.
Nur %xxx% Variablen ist es leider bissl umständlicher, als wie bei %x :cry:
http://stackoverflow.com/questions/1...rom-a-variable

Delphi-Quellcode:
CD /D "%~dp0"
ist übrigens das eigene Verzeichnis. (dir path filename extension der Variable 0)
Ich hab das fast immer in meinen .BAT/.CMD am Anfang drin, da z.B. bei "Ausführen als Admin" das Arbeitsverzeichnis auf C:\Windows\System32 steht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz