Top-Themen

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

gelöst Dateien in alphabetische Ordner sortieren

Mitglied: symei3

symei3 (Level 1) - Jetzt verbinden

02.02.2016 um 17:51 Uhr, 942 Aufrufe, 10 Kommentare

Hallo Forumsgemeinde,

leider habe ich sehr wenig Ahnung von Batchdateien etc.
Deswegen wird meine Frage vermutlich nur ein leises Schmunzeln erzeugen, aber ich habe im Netz nichts Ansprechendes gefunden und war von dem hier gezeigten Wissen sehr beeindruckt.
Mein Problem: Ich habe einen einzigen Ordner mit sehr vielen Dateien, die ich mittels einer Batch in vordefinierte Ordner (A bis Z) alphabetisch kopieren möchte.
Alle Dateien aus dem Quellordner mit dem Anfangsbuchstaben A sollen in den Zielordner 'A' kopert werden. Danach alle Dateien mit dem Anfangsbuchstaben B in den Ordner 'B' etc. bis 'Z'.
Da ich das häufiger machen muss, ist eine über den Explorer durchgeführte Kopierorgie überhaupt nicht lustig.

Für etwaige Lösungen wäre ich sehr dankbar.

Ciao
symei3
Mitglied: 114757
LÖSUNG 02.02.2016, aktualisiert um 22:43 Uhr
Moinsen,
gibt's zwar schon dutzende Threads zum selben Thema hier, aber ich gebs auf dauernd drauf hinzuweisen, bringt ja eh nichts ... also here you go:
01.
@echo off & setlocal enabledelayedexpansion
02.
set "quelle=c:\quelle"
03.
set "ziel=c:\ziel"
04.
for %%a in ("%quelle%\*") do (
05.
    set "name=%%~na"
06.
    set "target=%ziel%\!name:~0,1!"
07.
    if not exist "!target!" md "!target!"
08.
    copy "%%a" "!target!"
09.
)

Gruß jodel32
Bitte warten ..
Mitglied: rubberman
LÖSUNG 02.02.2016, aktualisiert um 22:43 Uhr
Hallo,

oder auch so (falls die Anfangsbuchstaben nicht unbedingt Großbuchstaben sind):
01.
@echo off &setlocal
02.
set ^"LF=^
03.

04.
^"  Die Leerzeile oben ist kritisch - Nicht entfernen!
05.
for /f "delims=" %%i in ('dir /a-d /b') do if "%%i" neq "%~nx0" (
06.
  set "file=%%i"
07.
  set "first="
08.
  for /f skip^=1^ delims^=^ eol^= %%i in (
09.
    '2^>^&1 cmd /von /c fc "!LF!!file:~,1!!LF!" nul'
10.
  ) do if not defined first set "first=%%i"
11.
  setlocal EnableDelayedExpansion
12.
  if not exist "!first!\" md "!first!"
13.
  copy /y "!file!" "!first!\"
14.
  endlocal
15.
)
Die Batchdatei kann im Verzeichnis mit deinen Dateien liegen, ohne selbst kopiert zu werden.

Grüße
rubberman
Bitte warten ..
Mitglied: symei3
02.02.2016 um 18:37 Uhr
THX für deine Bemühungen!!
Ich habe die Suchfunktion nochmals benutzt, aber nichts gefunden, was meinem Problem entspräche.

Leider funktioniert diese Lösung bei mir nicht, es wird nichts kopiert:

@echo off & setlocal enabledelayedexpansion
set "quelle=f:\1-21\ein-ordner"
set "ziel=f:\1-21\2016"
for %%a in ("%quelle%") do (
set "name=%%~na"
set "target=%ziel%\!name:~0,1!"
if not exist "!target!" md "!target!"
copy "%%a" "!target!"
)

Irgendetwas muss ich offensichtlich falsch machen.
Ciao
symei3
Bitte warten ..
Mitglied: symei3
02.02.2016 um 18:47 Uhr
THX!
Die Anfangsbuchstaben der Dateien aus dem Quellordner sind fast alle in Großbuchstaben.
Ciao
symei3
Bitte warten ..
Mitglied: rubberman
LÖSUNG 02.02.2016, aktualisiert um 22:43 Uhr
Macht ja nix
Wenn du die Batchdatei nicht im Quellverzeichnis haben willst, dann so:
01.
@echo off &setlocal
02.
set "quelle=f:\1-21\ein-ordner"
03.
set "ziel=f:\1-21\2016"
04.
set ^"LF=^
05.

06.
^"  Die Leerzeile oben ist kritisch - Nicht entfernen!
07.
for /f "delims=" %%i in ('dir /a-d /b "%quelle%"') do (
08.
  set "file=%%i"
09.
  set "first="
10.
  for /f skip^=1^ delims^=^ eol^= %%i in (
11.
    '2^>^&1 cmd /von /c fc "!LF!!file:~,1!!LF!" nul'
12.
  ) do if not defined first set "first=%%i"
13.
  setlocal EnableDelayedExpansion
14.
  if not exist "!ziel!\!first!\" md "!ziel!\!first!"
15.
  copy /y "!quelle!\!file!" "!ziel!\!first!\"
16.
  endlocal
17.
)
Grüße
rubberman
Bitte warten ..
Mitglied: symei3
02.02.2016 um 19:07 Uhr
Nochmals ein dickes THX!!!

Das Script tut genau das, was ich mir erhoffte.
Damit wird mir künftig eine Menge Arbeit abgenommen!!
Weiter so!

Ciao
symei3
Bitte warten ..
Mitglied: 114757
LÖSUNG 02.02.2016, aktualisiert um 22:43 Uhr
Zitat von symei3:
Leider funktioniert diese Lösung bei mir nicht, es wird nichts kopiert:
kleiner Typo ist oben korrigiert sorry, läuft ...

Wenns das dann war, den Beitrag bitte noch auf gelöst setzen.

Gruß jodel32
Bitte warten ..
Mitglied: symei3
02.02.2016 um 21:08 Uhr
Hab ich mir schon gedacht.
Vielen Dank für deine Geduld!! Werde dein Script jetzt auch noch probieren.
Das Script von rubbermann läuft wie Schmitz' Katze!!!

Ich hätte an euch beiden nur noch eine kleine Frage:
Bei Sonderzeichen (z.B. Álvarez, Çelik, Österreich) werden neue Ordner erstellt, was mich nicht sonderlich stört, da ich diese Ausnahmefälle per Hand einsortieren kann.
Oder ist es ohne großen Aufwand möglich, auch diese Option mit einzubauen, d.h., Álvarez unter A - Çelik unter C etc.?

Ciao
symei3
Bitte warten ..
Mitglied: rubberman
LÖSUNG 02.02.2016, aktualisiert um 22:43 Uhr
Nicht ohne größeren Aufwand, das sind einfach andere Zeichen. Kannst du genau spezifizieren, welche dieser Zeichen so alles auftreten könnten (außer deutsche Umlaute)? Alles wird nicht gehen. Sobald ein Zeichen mehr als ein Byte benötigt, ist Ebbe mit Batch.

Grüße
rubberman
Bitte warten ..
Mitglied: symei3
02.02.2016 um 22:43 Uhr
Ich bin euch beiden für die mir erteilten Ratschläge restlos dankbar!
Bitte macht euch über die Sonderzeichen keinen Kopf!!!
Ich bin nur so begeistert, dass ich mich zu dieser ausgefallenen Frage habe hinreißen lassen.
Es ist alles gut.
Ciao
symei3
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Datei von einem Ordners alphabetisch sortiert in Unterordnern verschieben

gelöst Frage von xyxy-yxBatch & Shell4 Kommentare

Hallo, Ich möchte von allen Dateien eines Ordner den ersten Buchstaben auslesen und mittel einer for-Schleife und if-Bedingungen die ...

Datenbanken

MySQL "order by" erst bestimmtes Wort, dann alphabetisch

gelöst Frage von AS-N00Datenbanken9 Kommentare

Hallo, ich möchte die Ausgabe eines Listings in einem Webshop so einstellen, dass er bei der Abfrage for der ...

Ubuntu

Eine Textdatei auf mehrere Dateien alphabetisch aufteilen. Kriterium - erste 2 Buchstaben

gelöst Frage von takitanoUbuntu13 Kommentare

Hallo an alle, ich habe eine große Textdatei. Diese Datei will ich auf mehrere kleinere Dateien aufteilen und zwar ...

Batch & Shell

BATCH ini Datei Datei auslesen

gelöst Frage von Juergen42Batch & Shell2 Kommentare

Hallo zusammen, ich möchte eine ini Datei auslesen mit folgenden Aufbau INHALT DER INI ID=30 NAME="test1" PFAD="K:\Kontoauszug\Test1\*.pdf" PFAD_S="K:\Kontoauszug\Test1\Sicherung\" ID=28 ...

Neue Wissensbeiträge
Off Topic
Noch mehr was ich nicht brauche
Information von brammer vor 2 TagenOff Topic6 Kommentare

Hallo, WOFÜR? WARUM? brammer

Windows Server

Windows Server 2016 Suche nicht funktioniert ist ausgegraut Windows Server 2016 Search not work

Erfahrungsbericht von Wano347 vor 3 TagenWindows Server

Hallo Leute, wir haben vor kurzem ein Problem gehabt: Windows Server 2016 frisch installiert. Nach Checkliste konfiguriert (sieht vor ...

Microsoft Office

Microsoft geht nun rechtlich gegen Lizengo vor - Billig Software

Information von takvorian vor 3 TagenMicrosoft Office9 Kommentare

Hallo zusammen, eben auf CRN gefunden, weis nicht ob das schon wer gepostet hat Microsoft verklagt Lizengo Gruß Tak

Firewall
Übernahme von SOPHOS durch Thoma Bravo
Information von Dilbert-MD vor 4 TagenFirewall3 Kommentare

Kam die Tage per Newsletter: Zitat: " Das Sophos Board of Directors hat gestern bekanntgegeben, dass die Private-Equity-Investment-Firma Thoma ...

Heiß diskutierte Inhalte
Router & Routing
Macht es schon Sinn IPv6 Adressen einzusetzen ?
Frage von mario89Router & Routing11 Kommentare

Hallo Leute, bitte entschuldigt die vielleicht blöde frage, aber ich wollte gerne mal hören, ob im Professionellen Umfeld IPv6 ...

Batch & Shell
Batch - Datei über das Kontextmenü (Senden an) des Windows Explorer umbenennen
gelöst Frage von AlfornoBatch & Shell10 Kommentare

Hallo, ich möchte eine beliebige Word Datei mittels Batch umbenennen. Als Ergebnis soll der neue Dateiname das Änderungsdatum sowie ...

Switche und Hubs
Zwei VLANs über Trunks über zwei Layer3-Switche per Glasfaser verbinden
Frage von FreundlicherSwitche und Hubs9 Kommentare

Hi, leider habe ich weder in der Berufsschule aufgepasst, noch in der Ausbildung das Thema praktisch behandelt (kleiner Betrieb). ...

Batch & Shell
Batch variable in nächste batch mitnehmen
Frage von BytexxBatch & Shell8 Kommentare

Hallo ich möchte ein kleines .bat programm schreiben und habe eine frage. wie kann ich ein installations pfad herrausfinden ...