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-Key: 4224341989

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

Printed on: April 28, 2024 at 12:04 o'clock

Member: Xolger
Xolger Oct 10, 2022 at 18:26:41 (UTC)
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
Member: o0Julia0o
o0Julia0o Oct 11, 2022 at 14:14:24 (UTC)
Goto Top
Danke. Achso, dass hatte ich vergessen zu erwähnen. Es muss relativ funktionieren. Also D:\ kann auch E:\ sein z.b.
Member: Xolger
Xolger Oct 11, 2022 at 20:20:18 (UTC)
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.
Member: o0Julia0o
o0Julia0o Oct 11, 2022 at 21:51:29 (UTC)
Goto Top
Es funktioniert nicht, wenn die Batch nicht auf D:\ ausgeführt, sondern z.B. auf E:\ ausgeführt wird irgendwo.
Member: TK1987
TK1987 Oct 12, 2022 updated at 11:29:34 (UTC)
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