ahstax
Goto Top

Ordner mit bestimmter Zeichenfolge aus Quelle nach Ziel kopieren

Hallo,

ich möchte Ordner mit einer Batch-Datei aus einem Quellverzeichnis in ein Zielverzeichnis kopieren. Die zu kopierenden Ordner sind benannt "%username%_blabla".

Ich hab ein wenig recherchiert und aus dem Ergebnis das hier:
set "quelle=\\SERVER\Quellverzeichnis"  
for /f "tokens=*" %%i in ('dir /b /ad ^| find ^"%quelle%\%username%_^"') do (  
echo "%%i")  
gebastelt. Im Quellverzeichnis ist mindestens ein Ordner, der mit "%username%_" anfängt.

Kann mir bitte jemand einen Tipp geben?

Neugierige Grüße,
Andreas

Content-ID: 246280

Url: https://administrator.de/forum/ordner-mit-bestimmter-zeichenfolge-aus-quelle-nach-ziel-kopieren-246280.html

Ausgedruckt am: 06.04.2025 um 00:04 Uhr

colinardo
Lösung colinardo 12.08.2014 aktualisiert um 13:25:12 Uhr
Goto Top
Moin Andreas,
@echo off & setlocal
set "quelle=\\SERVER\Quellverzeichnis"  
set "ziel=D:\Ordner"  
for /d %%i in ("%quelle%\%username%_*") do (  
  xcopy "%%i" "%ziel%\%%~ni" /K /R /E /I /S /C /H /Y  
)
oder mit Powershell so:
dir "\\SERVER\Quellverzeichnis\$($env:USERNAME)_*" | ?{$_.PSIsContainer} | move-item "D:\Zielordner" -force  
Grüße Uwe
Sheogorath
Sheogorath 12.08.2014 um 12:33:54 Uhr
Goto Top
Moin,

wie wäre es einfach mit robocopy?
robocopy /S /E "\\SERVER\Quellverzeichnis" "\\SERVER\Zielverzeichnis" %username%_*.*  


Das ist schon alles.

Gruß
Chris
colinardo
colinardo 12.08.2014 aktualisiert um 12:43:33 Uhr
Goto Top
Zitat von @Sheogorath:
wie wäre es einfach mit robocopy?
robocopy /S /E "\\SERVER\Quellverzeichnis" "\\SERVER\Zielverzeichnis" %username%_*.*
Das ist schon alles.
schon mal ausprobiert, geht nämlich so nicht face-wink

Grüße Uwe
ahstax
ahstax 12.08.2014 um 13:06:33 Uhr
Goto Top
Hallo Uwe,
hallo Chris,

DANKE für Eure Antworten.

Leider scheine ich was falsch zu machen, es wird nicht der Ordner sondern dessen Inhalt kopiert... face-sad
Im Quellordner vorhanden ist zu Testzwecken eine TXT-Datei "ah_bla.txt" und ein Ordner "ah_bla", in dem eine Datei xxx.txt ist. Das soll so alles im Zielordner wieder abgebildet werden... Wie kann ich denn aus/in der for-Schleife den ermittelten Ordnernamen abfragen?

set "ordnername=%username%_*"  
set "dateiname=%ordnername%.*"  
set "quelle=\\SERVER\Quelle"  
set "ziel=\\SERVER\Ziel"  

: Kopieren
: Dateien
xcopy "%quelle%\%dateiname%" "%ziel%\" /R /Y  

: Ordner
for /d %%i in ("%quelle%\%ordnername%") do (  
  xcopy "%%i" "%ziel%" /K /R /E /I /S /C /H /Y  
)
(KREISCHY ist ja mal ne schöne Eselsbrücke...)

Muss ich erst noch einen Ordner im Ziel erstellen, der so heißt, wie der Quellordner? Sollte sich der nicht automatisch anhand des zu kopierenden Quellordners erstellen?
colinardo
Lösung colinardo 12.08.2014 aktualisiert um 13:25:08 Uhr
Goto Top
ändere die xcopy-Zeile 12 so ab:
xcopy "%%i" "%ziel%\%%~ni" /K /R /E /I /S /C /H /Y 
Grüße Uwe
ahstax
ahstax 12.08.2014 um 13:25:31 Uhr
Goto Top
Danke, perfekt!!! face-smile