Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Wie verschiebe ich Dateien aus einem Ordner per batch

Frage Entwicklung Batch & Shell

Mitglied: Rene-N

Rene-N (Level 1) - Jetzt verbinden

24.05.2011 um 17:19 Uhr, 3539 Aufrufe, 8 Kommentare

Schönen Guten Tag ,

Ich hoffe es kann mir einer weiterhelfen....

Ich möchte gerne den Inhalt verschiedener Ordner, in ein anderen Ordner verschieben lassen, dabei haben die quell-Ordner sowohl in der ersten, als auch in der zweiten Ebene,
willkürliche Namen nur in der zweiten Ordnerebene ist aber immer der Name „test01“ enthalten.

Das ganze sieht in etwa so aus.

Beispiel - Folder Quelle: (alle Ordner werden über eine Rendering Software erzeugt die immer anders benannt werden.)

D:\OUT\iphone_ghf2131\0598_test01_74\*.*
D:\OUT\nokia_4hffg\rrgk_test01_55\*.*

Mich interessiert nur der Inhalt der in den Ordnern mit „test01“ liegt. Diesen muss ich dann nach…

Folder Ziel:

H:\Export\test01\

…verschieben.

Das ganze soll dann über einen geplanten Task ausgeführt werden. leider kenne ich mich mit Batch Scripting nicht aus und hab's schon verzweifelt versucht hinzubekommen das
System auf dem es ausgeführt werden soll, ist Windows 7 64bit. Weiß nicht ob das überhaupt mit robocopy und xcopy zu schaffen ist.

Grüße Rene
Mitglied: Friemler
24.05.2011 um 17:40 Uhr
Hallo Rene-N,

sollte so gehen:
01.
@echo off 
02.
 
03.
setlocal 
04.
 
05.
 
06.
set "SrcDir=D:\OUT" 
07.
set "DestDir=H:\Export" 
08.
 
09.
set "Criterium=test01" 
10.
 
11.
 
12.
for /f "delims=" %%f in ('dir /b /a:d "%SrcDir%" 2^>NUL') do ( 
13.
  for /f "delims=" %%d in ('dir /b /a:d "%SrcDir%\%%f\*%Criterium%*.*" 2^>NUL') do ( 
14.
    xcopy /KREISCHY "%SrcDir%\%%f\%%d\*.*" "%DestDir%\%Criterium%\" 
15.
16.
)
Gib in einem Konsolenfenster mal xcopy /? ein und schau nach, ob die gesetzten Optionen (KREISCHY) für Dich so passen.

Du solltest Dir außerdem 100%-ig sicher sein, dass es in den verschiedenen Quellordnern keine Dateien/Verzeichnisse mit gleichem Namen gibt, die würden sich im Ziel gegenseitig überschreiben... Oder habe ich bei der Problemstellung etwas falsch verstanden? Soll im Zielverzeichnis für jedes Quellverzeichnis ein eigenes Verzeichnis erstellt werden?

Gruß
Friemler
Bitte warten ..
Mitglied: Rene-N
24.05.2011 um 18:08 Uhr
Hallo Friemler,

Super.... Danke für deine schnelle Antwort. Also dein Script Funktioniert auf anhieb

Was müsste ändern wenn ich statt kopieren nur verschieben möchte... ?


Quelle D.\OUT
Ziel D:\Export

Gruß Rene
Bitte warten ..
Mitglied: Friemler
24.05.2011 um 18:17 Uhr
Hallo Rene-N,

füge nach der XCOPY-Zeile folgendes ein:
rd /s /q "%SrcDir%\%%f\%%d"
Das würde die Verzeichnisse, die test01 im Namen enthalten, und alles darunter löschen.

Sei Dir aber über die Gefahren im klaren, die ich bei meinem obigen Posting noch ergänzt habe.

Gruß
Friemler
Bitte warten ..
Mitglied: Rene-N
24.05.2011 um 18:43 Uhr
Super... vielen Dank für deine Hilfe @Friemler. werds morgen gleich testen...

Ich wünsch dir noch einen schönen Tag!

Grüße Rene
Bitte warten ..
Mitglied: Rene-N
26.05.2011 um 11:19 Uhr
Hallo Friemler,

Noch mal vielen Dank für dein Schript funktioniert alles bestens... Ich muss jetzt alledings noch zwei weitere ordner durchsuchen und dessen inhalt kopieren das gestalltet sich aber ein wenig komplexer

Unter D:\OUT sind zwei ordner Test02 und Test03 in diesen sind jeweils die unterordner "intro_firma" und "no_intro_firma" die ich durchsuchen- und dessen hinhalt kopieren soll...

Ziel für Test02 - Intro_Firma
H:\Firma\INTRO"

Ziel für Test02 - No_Intro_Firma
H:\Firma\NO_INTRO

Ziel für Test03 - Intro_Firma
H:\Firma\INTRO"

Ziel für Test03 - No_Intro_Firma
H:\Firma\NO_INTRO

hast du dafür eventuell auch noch eine lösung parat ?

Viele Grüße Rene
Bitte warten ..
Mitglied: Friemler
26.05.2011 um 12:00 Uhr
Hallo Rene,

so wie Du das beschreibst, ließe sich das doch mit ein paar (genauer: 4) "hartcodierten" XCOPY-Befehlen lösen, also nach dem Muster:
xcopy /KREISCHY "D:\OUT\Test02\intro_firma\*.*" "H:\Firma\INTRO\"
Gruß
Friemler
Bitte warten ..
Mitglied: Rene-N
26.05.2011 um 13:42 Uhr
Sorry mein fehler, hab's bissel falsch erklärt... es hat sich auch gerade was geändert so sieht die finale struktur aus

also unter D:\OUT gibt es willkürlich erzeugte ordner wo der name test02 und test03 drin vorkommt.

bsp.

29302_test02_en
38892_test02_rig
440499_test03_man
90223_test03_del

etc..

in dennen sind immer jeweils die gleichen order "INTRO" und "NO_INTRO" enthalten, dessen inhalt ich getrennt in verschiedene ordner kopieren soll.



Ziel für Test02: - (inhalt vom Ordner "INTRO")
H:\Export\Test02\Cut
Ziel für Test02: - (inhalt vom ordner "NO_INTRO")
H:\Export\Test02\Final



Ziel für Test03: - (inhalt vom Ordner "INTRO")
H:\Export\Test03\Cut
Ziel für Test03: - (inhalt vom ordner "NO_INTRO")
H:\Export\Test03\Final


Grüße Rene
Bitte warten ..
Mitglied: Friemler
26.05.2011 um 15:02 Uhr
Hallo Rene,

Zitat von Rene-N:
dessen inhalt ich getrennt in verschiedene ordner kopieren soll.

also arbeitest Du im Auftrag und bekommst das bezahlt? Oder bist Du Azubi und das ist eine Übungsaufgabe? In beiden Fällen ist das jetzt meine letzte Hilfestellung. In Zukunft: Start -> Ausführen -> brain.exe

Die Lösung für das jetzige Problem lässt sich (mit etwas gutem Willen und Nachdenken) aus der vorherigen Lösung ableiten. Fragen zur Funktionsweise (wenn sie denn gestellt werden) beantworte ich gerne. Außerdem gibt es noch mein Tutorial zur FOR-Schleife.

01.
@echo off 
02.
 
03.
setlocal 
04.
 
05.
 
06.
set "SrcDir=D:\OUT" 
07.
set "DestDir=H:\Export" 
08.
 
09.
set "Criteria=test02 test03" 
10.
 
11.
 
12.
for %%a in (%Criteria%) do ( 
13.
  for /f "delims=" %%b in ('dir /b /a:d "%SrcDir%\*%%a*.*" 2^>NUL') do ( 
14.
    xcopy /KREISCHY "%SrcDir%\%%b\INTRO\*.*" "%DestDir%\%%a\Cut" 
15.
    xcopy /KREISCHY "%SrcDir%\%%b\NO_INTRO\*.*" "%DestDir%\%%a\Final" 
16.
17.
)
Gruß
Friemler
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Batch & Shell
gelöst Mehrere PDF-Dateien per Batch zusammenfügen (1)

Frage von Grimmli zum Thema Batch & Shell ...

Batch & Shell
gelöst Per Batch Dateien in einen Ordner - ext. Festplatte übertragen (2)

Frage von tocksick zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...