Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 11732 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 ..
Ähnliche Inhalte
Batch & Shell
Batch zum verschieben von Ordnern anhand des Erstellungsdatums (4)

Frage von AcJoker zum Thema Batch & Shell ...

Batch & Shell
Aktuellste Dateien per bash in Ordner verschieben (7)

Frage von wescraven07 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Datei: PDF Dateien verschieben, umbenennen und löschen (4)

Frage von F0rcehunter zum Thema Batch & Shell ...

Batch & Shell
Batch: Files verschieben ohne Überschreiben der Bestehenden (1)

Frage von maegee zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Server
Bilder aus dem Web mit CSV runterladen (30)

Frage von Yannosch zum Thema Server ...

Windows Update
WSUS 4 (Server 2012 R2) - Windows 10 Updates nicht möglich (12)

Frage von c0d3.r3d zum Thema Windows Update ...

Windows Userverwaltung
gelöst Administrator hat alle Rechte verloren (10)

Frage von mrdead zum Thema Windows Userverwaltung ...