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
GELÖST

Erstellen einer Ordnerstruktur mit anschliessendem Aufteilen von Dateien in diese Ordner und Unterordner

Frage Entwicklung Batch & Shell

Mitglied: BrotherMarcus

BrotherMarcus (Level 1) - Jetzt verbinden

20.04.2011 um 21:47 Uhr, 4813 Aufrufe, 6 Kommentare

Halli Hallo!

Ich bin neu in diesem Forum und erhoffe mir hier einige Antworten zu finden. Ich habe schon sehr viel aus diesem Forum gelesen und sehe immer wieder, daß hier sehr sehr viele wissen wovon sie reden. Nachdem ich mir nun schon seit 3 Wochen die Zähne ausbeise um einen Batch zu finden stelle ich nun hier die Anfrage.

OK - LOSE GEHTS:

Ich stelle meine Anfrage gleich mit Echtdaten und versuche die Aufgabenstellung möglichst präzise zu erklären, ich hoffe es geling mir:

Ich bin Serviceleiter in einem Medizintechnikunternehem und arbeite an der automatischen Archivierung von Kundendienstprotokollen.

Also, ich haben einen Ordner auf einem Netzlaufwerk G:\KDP in den alle Kundendienstprotokolle vorhanden sind. Dieser Ordner wird täglich mit neuen Kundendienstprotokollen gefüllt.

Die Dateinamen der Kundendienstprotokolle sind wie folgt:

AUTION JET AJ-4270_803030_2011-04-13_ADM01_4564.pdf
AUTION MAX AX-4280_004001_2011-04-13_ADM01_4564.pdf
AUTION MAX AX-4280_10504036_2011-04-13_ADM01_4564.pdf
BOND MAX_M210058_2011-04-13_ADM01_4564.pdf
OSMOSTATION OM-6050_30912009_2011-04-13_ADM02_23423.pdf
.
.
.usw.

1.) bis zum 1. _ = Gerätename
2.) 1. bis 2. _ = Seriennummer
3.) 2. bis 3. _ = Datum
4.) 3. bis 4. _ = Techniker
5.) 4. bis 5. _ = Work Order Nummer

Ich bräuchte nun einen Batch der folgendes realisiert:

1.) Erstelle mir Geräteordner, die den Namen aus den Dateien bis zum 1. Unterstrich, also den Gerätenamen erhalten:

AUTION JET AJ-4270
AUTION MAX AX-4280
BOND MAX
OSMOSTATION OM-6050

2.) Danach erstelle die Unterordner in diesen erzeugten Ordnern die den Namen der Seriennummer erhalten sollen:

AUTION JET AJ-4270
\ 803030

AUTION MAX AX-4280
\ 004001
\ 10504036

BOND MAX
\ M210058

OSMOSTATION OM-6050
\ 30912009

3.) Verschiebe die .pdf Dateien nach in die jeweiligen Unterordner

AUTION JET AJ-4270
\ 803030 --> AUTION JET AJ-4270_803030_2011-04-13_ADM01_4564.pdf

AUTION MAX AX-4280
\ 004001 --> AUTION MAX AX-4280_004001_2011-04-13_ADM01_4564.pdf
\ 10504036 --> AUTION MAX AX-4280_10504036_2011-04-13_ADM01_4564.pdf

BOND MAX
\ M210058 --> BOND MAX_M210058_2011-04-13_ADM01_4564.pdf

OSMOSTATION OM-6050
\ 30912009 --> OSMOSTATION OM-6050_30912009_2011-04-13_ADM02_23423.pdf

Soweit der prinzipielle Ablauf.

Am nächsten Tag wir der Ordner auf Laufwerk G:\KDP erneut mit .pdf Dateien gefüllt. Danach müsste die oben beschrieben Prozedur ausgeführt werden und dabei sollten die noch nicht vorhandenen Ordner erstellt werden. Wenn schon Ordner vorhanden sind sollen die Dateien nur in den entsprechenden Ordner verschoben werden.

Ich hoffe ich habe es verständlich genug beschrieben und bin mir sicher, daß mir hier jemand einen Tip geben kann wie man diese Aufagbenstellung realisieren kann.

Ich bedanke mich schon jetzt bei Euch !!!!

LG, Marcus
Mitglied: bastla
20.04.2011 um 22:00 Uhr
Hallo BrotherMarcus und willkommen im Forum!

Etwa so:
01.
@echo off & setlocal 
02.
pushd "G:\KDP" 
03.
for /f "delims=" %%i in ('dir /b "*.pdf"') do for /f "tokens=1-2 delims=_" %%a in ("%%~nxi") do ( 
04.
    md "%%a\%%b" 2>nul 
05.
    echo move "%%i" "%%a\%%b\" 
06.
07.
popd 
08.
pause
Das Verschieben wird (wegen des "echo" vor dem "move") zunächst nur simuliert (die Ordner werden allerdings bereits erstellt) ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
21.04.2011 um 12:59 Uhr
Moin BrotherMarcus,

willkommen im Forum.
Denkst du noch über eine bestimmte der vielen Zeilen nach oder können wir den Beitrag als "gelöst" kennzeichnen?

Grüße
Biber
Bitte warten ..
Mitglied: Skyemugen
21.04.2011 um 13:20 Uhr
[OT]
Aloha Biber!

Da ist aber jemand ungeduldig heute ... der TE kaut da zwei Wochen schon dran rum und war heute noch nicht einmal online hier - da kenne ich andere Beiträge, die älter sind und auf Nike-Logos warten, höhö

greetz André

P.S.: Funktioniert ja so wie beschrieben, technisch also natürlich „gelöst” ^_^
[/OT]
Bitte warten ..
Mitglied: BrotherMarcus
21.04.2011 um 16:51 Uhr
Hallo Bastla!

Wow das ging ja echt schnell. Habe es heute getestet und funktioniert einwandfrei.

Muss ehrlich gestehen, daß ich in Sachen Batchprogrammierung noch ein ziehmlicher ROOKIE bin, aber ich bin immer offen neue Sachen dazu zu lernen. Das es so einfach ist (is ja doch nur ein 8-zeiler) hätte ich jetzt nicht gedacht.

Aber nachdem ich jetzt weis, daß Du echt was drauf hast könntest Du mir vielleicht noch in einer anderen Sache helfen.

Um die Sache mit meiner Archiviererei noch mehr zu automatisieren würde ich etwas suchen, daß mir die ganzen Kundendienstprotokolle automatisch aus Outlook in den zuvor benannten Ordner G:\KDP abspeichert, nachdem diese im Posteingang erscheinen. Geht so etwas, naja ich vermute is auch so ein 8-zeiler oder ?

Ahja, bevor ich es vergesse, können die jeweiligen Batches in einen zusammengefasst werden und würde es auch gehen den Batch automatisch ablaufen zu lassen sobald ein neues Kundendienstprotokoll eingeht?

Ich glaube ich bin jetzt etwas unverschämt mit meinem Haufen an Fragen und hoffe ich gehe Dir nicht zu sehr auf den Geist.

Bin Dir auf alle Fälle sehr dankbar für Deine Hilfe

DANKE

LG, Marcus
Bitte warten ..
Mitglied: BrotherMarcus
21.04.2011 um 16:57 Uhr
Hallo Biber!

JA JA, wer den Schaden hat brauch für den Spott nicht zu sorgen.

Danke aber dafür, daß ich hier in diesem Forum so freundlich aufgenommen werde. Ich werde versuchen rasch etwas dazu zu lernen.

Also nochmals Danke

LG, Marcus
Bitte warten ..
Mitglied: bastla
21.04.2011 um 17:34 Uhr
Hallo BrotherMarcus!
is ja doch nur ein 8-zeiler
Wenn ich hier nicht nach Zeilen bezahlt würde ...
@for %%i in ("G:\KDP\*.pdf") do @for /f "tokens=1-2 delims=_" %%a in ("%%~nxi") do @(md "G:\KDP\%%a\%%b" 2>nul & echo move "%%i" "G:\KDP\%%a\%%b\")
... automatisch aus Outlook in den zuvor benannten Ordner G:\KDP abspeichert ...
... ist allerdings eine andere Baustelle (und hinsichtlich Outlook eher nicht die meine) und daher ein Fall für einen neuen Thread.

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Batch & Shell
Ordner inkl. Unterordner nach Dateien überprüfen (4)

Frage von belfry zum Thema Batch & Shell ...

Batch & Shell
gelöst Ordner anhand von Dateinamen erstellen und Dateien in Ordner kopieren (3)

Frage von getmoving zum Thema Batch & Shell ...

Batch & Shell
Ordner erstellen ll Datei hinein kopieren (1)

Frage von heyalice zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

DSL, VDSL
DSL-Signal bewerten (10)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (8)

Frage von StefanT81 zum Thema Windows Server ...

Backup
Clients als Server missbrauchen? (8)

Frage von 1410640014 zum Thema Backup ...