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

Per CMD Sortieren

Frage Entwicklung Batch & Shell

Mitglied: Spidi-25

Spidi-25 (Level 1) - Jetzt verbinden

02.07.2010 um 16:27 Uhr, 3411 Aufrufe, 4 Kommentare

Hallo bastla

ich hätte eine Bitte an dich,vor Zeiten hast du mir eine tolle CMD erstellt http://www.administrator.de/index.php?content=139800


meine frage ist, was muss an der CMD geändert werden damit folgendes gemacht werden kann:


z.B. es befinden sich Dateien im Ordner

01.
4174_100_020_00.dwg 
02.
4174_100_020_01.dwg 
03.
4174_100_020_02.dwg 
04.
4174_100_021_00.dwg 
05.
4174_100_021_01.dwg 
06.
4174_100_021_02.dwg 
07.
4174_100_025_01.dwg
nach der CMD Ausführung


Folgende Dateien behalten
01.
4174_100_020_02.dwg 
02.
4174_100_021_02.dwg 
03.
4174_100_025_01.dwg
und folgende Dateien in den Ordner alt verschieben
01.
4174_100_020_00.dwg 
02.
4174_100_020_01.dwg 
03.
4174_100_021_00.dwg 
04.
4174_100_021_01.dwg

im Prinzip Daten mit dem höchsten Index sollen bleiben (sie unten) Rest nach alt verschieben, dabei sind die Stellen 10 bis 12 zu berücksichtigen

(xxxx_xxx_xxx_Index)


habe es mit folgendem Code probiert

01.
@echo off & setlocal  
02.
 
03.
 
04.
for %%t in (DWG) do (  
05.
    for /f %%i in ('dir /b /on /a-d *_*_*_*.%%t') do (  
06.
 
07.
        for /f "tokens=1-4 delims=_" %%a in ("%%~ni") do (  
08.
            md "%Ziel%%%a_%%b" 2>nul 
09.
            md "alt" 2>nul  
10.
            move "%%i" "%Ziel%%%a_%%b\">nul  
11.
            for /f "skip=1 delims=" %%x in ('dir /b /o-n /a-d "%Ziel%%%a_%%b\%%a_%%b_%%c_*%%~xi"') do move "%Ziel%%%a_%%b\%%x" "alt"  
12.
        )  
13.
    )  
14.
)  
15.
popd



Damit wird außer des alt Ordners in den auch die alten Daten verschoben werden, wie gewollt , auch noch ein Ordner zu viel angelegt und die Dateien die ich behalten möchte hinein geschoben.


Ich bedanke mich im voraus für die hilfe!
Mitglied: bastla
02.07.2010 um 18:26 Uhr
Hallo Spidi-25!

Der Ansatz war schon ziemlich gut - so sollte es dann eigentlich klappen:
01.
for %%t in (DWG) do ( 
02.
    for /f %%i in ('dir /b /on /a-d *_*_*_*.%%t') do (  
03.
        for /f "tokens=1-4 delims=_" %%a in ("%%~ni") do (  
04.
            md "%Ziel%%%a_%%b" 2>nul 
05.
            md "alt" 2>nul 
06.
            move "%%i" "%Ziel%%%a_%%b\">nul  
07.
        )  
08.
09.
    for /d %%v in (%Ziel%*.*) do ( 
10.
        for %%i in ("%%v\*_*_*_*.%%t") do ( 
11.
            for /f "tokens=1-4 delims=_" %%a in ("%%~ni") do ( 
12.
                for /f "skip=1 delims=" %%x in ('dir /b /o-n /a-d "%%v\%%a_%%b_%%c_*%%~xi"') do move "%%v\%%x" "alt"  
13.
14.
15.
16.
)
[Edit] Korrektur wegen falscher "Ansiedelung" des "alt"-Ordners vorgenommen [/Edit]

Grüße
bastla
Bitte warten ..
Mitglied: Spidi-25
02.07.2010 um 22:33 Uhr
Hallo bastla

Eigendlich bekomme ich das gleiche ergebnis wie mit dem Code von meinem schreiben!

Kann man nicht die Zeilen 04,06, (Ziel) weglassen, den Code so erstellen damit kein Unterordner außer der alt Ordner erstellt wird und die Daten mit dem kleineren Index hinein geschoben werden?

Grüße

Spidi-25
Bitte warten ..
Mitglied: bastla
02.07.2010 um 22:48 Uhr
Hallo Spidi-25!

Dann sollte tatsächlich
01.
@echo off & setlocal  
02.
md "alt" 2>nul 
03.
for %%t in (DWG) do ( 
04.
    for %%i in ("*_*_*_*.%%t") do ( 
05.
        for /f "tokens=1-4 delims=_" %%a in ("%%~ni") do for /f "skip=1 delims=" %%x in ('dir /b /o-n /a-d "%%a_%%b_%%c_*%%~xi"') do move "%%x" "alt\"  
06.
07.
)
genügen ...

Grüße
bastla
Bitte warten ..
Mitglied: Spidi-25
02.07.2010 um 23:14 Uhr
Perfekt, genau das habe ich gesucht vielen vielen dank!!!!!!!!!!!!!
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Excel Tabelle nach Spalte sortieren und Daten auf Tabellenblätter separieren (4)

Frage von Fastinator zum Thema Microsoft Office ...

Tipps & Tricks
FTP Hosting nach Letzte Änderungen sortieren (1)

Frage von table1 zum Thema Tipps & Tricks ...

Batch & Shell
Batch, CMD - Prüfen ob ein Dienst existiert, nicht läuft (4)

Frage von RycoDePsyco zum Thema Batch & Shell ...

Neue Wissensbeiträge
Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Windows Server

Exchange 2010 auf Windows Server 2016 und AD

(2)

Tipp von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Basic
Programmierung von Windows Programmen (9)

Frage von Ghost108 zum Thema Basic ...

C und C++
Fehlendes verständiss von C und C++ (8)

Frage von zelamedia zum Thema C und C ...