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, 10707 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
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Windows 7
Verteillösung für IT-Raum benötigt (12)

Frage von TheM-Man zum Thema Windows 7 ...