Einen Ordnerbaum höher gehen in einem Befehl
hey, wie geht folgendes:
-> 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:
set Quelle="Folder1\Folder2"
set Ziel="Zielfolder"
xcopy %Quelle% %Ziel%
Jeztzt möchte ich aber Folder1\Folder1a als Quelle haben. Wie mache ich das in einem Befehl?
sowas quasi:
xcopy %Quelle%\cd..\folder1a %Ziel%
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 4224341989
Url: https://administrator.de/contentid/4224341989
Ausgedruckt am: 04.11.2024 um 22:11 Uhr
5 Kommentare
Neuester Kommentar
Hallo,
Wichtig keine Anführungszeichen und Backslash am Ende vom Ordner.
Dann kannst du von da aus mit relativen Pfadangaben arbeiten.
Gruß
Xolger
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
Moin Julia,
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
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:Es funktioniert nicht, wenn die Batch nicht auf D:\ ausgeführt, sondern z.B. auf E:\ ausgeführt wird irgendwo.
@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