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
Kommentar vom Moderator Biber am 25.02.2011 um 17:16:33 Uhr
Bereits gelösten Beitrag verschoben von "Entwicklung" nach "Batch & Shell'.
GELÖST

Dateien per Batch, Script in passende Ordner verschieben

Frage Entwicklung Batch & Shell

Mitglied: Klatschbirne08

Klatschbirne08 (Level 1) - Jetzt verbinden

25.02.2011, aktualisiert 17:16 Uhr, 10960 Aufrufe, 5 Kommentare

Guten Morgen,

ich würde gern die tägliche Arbeit bei uns etwas vereinfachen, da zur Zeit sehr viele Dateien per Hand verwoben werden müssen. Mit meinen Grundlagenwissen komme ich leider grade nicht wirklich weiter, aber vielleicht könnt ihr mir ja etwas helfen.

Ich habe folgendes Problem:

es werden bei uns Dateien in C:\Data\ erzeugt.

die Labelcodes der Dateien lauten: XX_100523_S_B_a_S01_D1.dat
kurze erläuterung des Codes:
XX = Tool
10 = Jahreszahl (hier 2010)
05 = Monat
der Rest ist für die Zuordnung egal.

diese sollen nun automatisiert in die richtigen Zielordner kopiert werden.
diese Liegen dann unter: X:\Data\Jahreszahl\Monat\Ordner mit entsprechenden Labelcode\

in diesem Beispiel: X:\Data\2010\05\XX_100523_S_B_a\


Nun sollte am besten in den jeweiligen Pfad ein zusätzlicher Ordner Namens lifetime angelegt werden, worein die Daten zu verschieben wären.

Jetzt meine Frage ist das zu bewerkstelligen? bzw. könntet ihr mir da vielleicht weiter helfen?

Vielen Dank im voraus schonmal.
Klatschbirne08
Mitglied: bastla
25.02.2011 um 11:32 Uhr
Hallo Klatschbirne08 und willkommen im Forum!

Unter der Voraussetzung, dass die Struktur (Aufteilung anhand des Trennzeichens "_") immer gleich ist, könnte das (völlig ungetestet) etwa so zu lösen sein:
01.
@echo off & setlocal 
02.
set "Quelle=C:\Data" 
03.
set "Typ=dat" 
04.
set "Ziel=X:\Data" 
05.
 
06.
for %%i in ("%Quelle%\*.%Typ%") do ( 
07.
    for /f "tokens=1-5 delims=_" %%a in ("%%~ni") do ( 
08.
        set "Datum=%%b" 
09.
        set "Ordner=%%a_%%b_%%c_%%d_%%e" 
10.
11.
    call :ProcessFile "%%i" 
12.
13.
pause 
14.
goto :eof 
15.
 
16.
:ProcessFile 
17.
set "ZielOrdner=%Ziel%\20%Datum:~0,2%\%Datum:~2,2%\%Ordner%" 
18.
echo xcopy %1 "%ZielOrdner%\lifetime\" 
19.
echo move %1 "%ZielOrdner%" 
20.
goto :eof
Solange "echo" am Beginn der Zeilen 18 und 19 steht, werden der Kopier- bzw Verschiebebefehl zum Testen nur angezeigt - wenn Du diese "echo" entfernst ("pause" wirst Du dann auch nicht mehr benötigen), passiert's tatsächlich ...

Um Dein Grundlagenwissen etwas zu erweitern, könntest Du zB mit "set /?" die Onlinehilfe aufrufen und anhand der ca 4. Bildschirmseite (hoffentlich) nachvollziehen, was zB "%Datum:~0,2%" so macht ...

Grüße
bastla
Bitte warten ..
Mitglied: Klatschbirne08
25.02.2011 um 13:21 Uhr
Danke hat fast funktioniert ;)

hab es noch bisschen abgeändert, da es nicht in lifetime kopiert hat sondern in den Unterordner. Aber nun funktioniert alles.
Bitte warten ..
Mitglied: bastla
25.02.2011 um 16:24 Uhr
Hallo Klatschbirne08!

Inwiefern
... nicht in lifetime kopiert ...
Sollte der Zielordner
X:\Data\2010\05\lifetime
sein?

Grüße
bastla
Bitte warten ..
Mitglied: Klatschbirne08
25.02.2011 um 16:47 Uhr
Nein ;)

X:\Data\2010\05\XX_100523_S_B_a\lifetime

in der 19. zeile fehlte einfach nur ein \lifetime\
Bitte warten ..
Mitglied: bastla
25.02.2011 um 17:30 Uhr
Hallo Klatschbirne08!

Ich hatte Deine Wünsche
diese sollen nun automatisiert in die richtigen Zielordner kopiert werden.
und
Nun sollte am besten in den jeweiligen Pfad ein zusätzlicher Ordner Namens lifetime angelegt werden, worein die Daten zu verschieben wären.
so interpretiert, dass es die Datei dann zweimal geben sollte - dass in Zeile 18 zunächst in den Ordner "X:\Data\2010\05\XX_100523_S_B_a\lifetime" kopiert und dann in Zeile 19 erst in den Ordner "X:\Data\2010\05\XX_100523_S_B_a\" verschoben wird, hatte eigentlich nur den Grund, dass "xcopy" bei Bedarf automatisch den vollständigen Zielpfad erstellen kann - das Endergebnis wäre aber gleich gewesen, während ein Hinzufügen von "\lifetime\" in Zeile 19 ja dazu führt, dass die Datei nur noch einmal existiert ...

Aber wenn's so für Dich passt, soll's mir auch recht sein ...

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Batch & Shell
gelöst Dateien anhand des Namens in neue Ordner verschieben (17)

Frage von Cookiemonster zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch xkopie von Ordner in Ordner (3)

Frage von TicTakTeo zum Thema Batch & Shell ...

Batch & Shell
Brauche Hilfe mit einem Batch Script( or condition) (21)

Frage von fireskyer zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (23)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Mac OS X
Mac kann nicht im LAN pingen alle anderen schon (19)

Frage von smartino zum Thema Mac OS X ...

Hyper-V
Langsames Netzwerk i210 LAN Karte (10)

Frage von Akcent zum Thema Hyper-V ...

Windows Server
Server 2016 - Kuriositäten (8)

Frage von certifiedit.net zum Thema Windows Server ...