o0julia0o
Goto Top

Einen Ordnerbaum höher gehen in einem Befehl

hey, wie geht folgendes:

set Quelle="Folder1\Folder2"  
set Ziel="Zielfolder"  

xcopy %Quelle% %Ziel%
-> Die Batch befindet sich in Folder2.
Jeztzt möchte ich aber Folder1\Folder1a als Quelle haben. Wie mache ich das in einem Befehl?

sowas quasi:
xcopy %Quelle%\cd..\folder1a %Ziel%

Content-ID: 4224341989

Url: https://administrator.de/contentid/4224341989

Ausgedruckt am: 04.11.2024 um 22:11 Uhr

Xolger
Xolger 10.10.2022 um 20:26:41 Uhr
Goto Top
Hallo,

D:\>set Quelle=D:\Temp\1\

D:\>xcopy %Quelle%..\2\Data %Quelle%
D:\Temp\1\..\2\Data\XamarinDirectory.csv
D:\Temp\1\..\2\Data\XamarinFavorites.xml
2 Datei(en) kopiert

Wichtig keine Anführungszeichen und Backslash am Ende vom Ordner.
Dann kannst du von da aus mit relativen Pfadangaben arbeiten.


Gruß
Xolger
o0Julia0o
o0Julia0o 11.10.2022 um 16:14:24 Uhr
Goto Top
Danke. Achso, dass hatte ich vergessen zu erwähnen. Es muss relativ funktionieren. Also D:\ kann auch E:\ sein z.b.
Xolger
Xolger 11.10.2022 um 22:20:18 Uhr
Goto Top
Löse mit dem echo Befehl deine Variablen auf um sie zu kontrollieren und dann probiere es einfach mal aus.
Oder schreibe was klappt und was nicht.
o0Julia0o
o0Julia0o 11.10.2022 um 23:51:29 Uhr
Goto Top
Es funktioniert nicht, wenn die Batch nicht auf D:\ ausgeführt, sondern z.B. auf E:\ ausgeführt wird irgendwo.
TK1987
TK1987 12.10.2022 aktualisiert um 13:29:34 Uhr
Goto Top
Moin Julia,

Zitat von @o0Julia0o:
Es funktioniert nicht, wenn die Batch nicht auf D:\ ausgeführt, sondern z.B. auf E:\ ausgeführt wird irgendwo.
dann hast du irgendetwas falsch gemacht. So funktioniert es bei mir problemlos:
@echo off
set Quelle=..\Folder1a
set Ziel=..\Ziel

xcopy "%Quelle%" "%Ziel%\"  
pause

Achso, dass hatte ich vergessen zu erwähnen. Es muss relativ funktionieren. Also D:\ kann auch E:\ sein z.b.
Das ginge dennoch auch mit absoluten Pfadangaben. Die Variable "%0" ist immer der Pfad der Batchdatei, welche gestartet wurde.
Die Pfadmanipulation funktioniert mit dieser genauso, wie mit einer Schleifenvariable. "%~dp0" wäre also zum Beispiel immer das Verzeichnis, in dem die Batch liegt.

Gruß Thomas