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

Ordner verschieben anhand des ersten Buchstaben

Frage Entwicklung Batch & Shell

Mitglied: henradavis

henradavis (Level 1) - Jetzt verbinden

19.09.2012 um 04:48 Uhr, 2327 Aufrufe, 4 Kommentare

Hallo liebe Leute,
nach langen suchen konnte ich leider immer noch kein Ergebnis finden, deshalb wende ich mich an Euch.

Ich möchte gerne mehrere Ordner verschieben in andere alphabetische Ordner
z.B.

a1
a2
a3
b1
b5
b7
cba
cag
c2
d1
d2
d3
usw...

das Ergebnis sollte dann so aussehen:
alphabetische Ordner werden erstellt
[A-C]
[D-F]
[G-I]
usw...

anschließend werden die Ordner verschoben also a1 bis c2 sind in den Ordner A-C und d1 bis ... sind in den Orner D-F usw...
Ich hoffe es ist halbwegs verständlich.



Mitglied: Lochkartenstanzer
19.09.2012 um 08:22 Uhr
Moin,

bash installieren und dann einfach tippen:

 
mv -iv [a-cA-C]* A-C 
mv -iv [d-fD-F]* D-F 
...
lks
Bitte warten ..
Mitglied: pieh-ejdsch
19.09.2012, aktualisiert um 14:19 Uhr
moin henradavis,

in der CMD-Line könnte es so gehen:
01.
for %a in ("A B C" "D E F" "G H I" "J K L" "M N O" "P Q R" "S T U" "V W  X" "Y Z Z") do @for /f "tokens=1-3" %b in (%a) do @for /d %a in (%b* %c* %d*) do @(ifnot exist "%b-%d" @echo md "%b-%d") &@echo move "%a" "%b-%d"
Das Z zweimal, sonst gehts nicht auf und der Letzte Ordner hieße "Y-".
@echo zeigt Dir was es täte, wenn Du es entfernst.

Gruß Phil
Bitte warten ..
Mitglied: henradavis
19.09.2012, aktualisiert um 19:47 Uhr
Vielen Dank, das geht schon in die richtige Richtung.
Leider habe ich nur Windows 8 x64, und dort kommt folgende Fehlermeldung:

Der Befehl "ifnot" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

Nachtrag: "ifnot" einfach auseinander schreiben "if not" dann funktioniert es!
Besteht auch die Möglichkeit dies in ein Batch zu packen oder eventuell komplettes Alphabet zu erstellen und dann dort die Ordner reinschieben?
z.B. aaa1, aa2 adsd --> A
bbb3, baddf, bbbb1 --> B
ccc1, ccad, ccc3 --> C

und ich würde gerne noch Zahlen einbauen also wenn 0-9 vorne steht dann sollten die Ordner dort hin verschoben werden.

Habe es soeben getestet, es funktioniert leider nicht.
Teilweise funktioniert es, teilweise nicht. Die CMD Eingabe schmeißt teilweise die Dateien aus dem Ordner.
Bitte warten ..
Mitglied: pieh-ejdsch
19.09.2012 um 20:44 Uhr
moin,

ifnot ist ein Fehler meinerseits - entstand beim Entfernen der Zeilenumbrüche nach dem kopieren aus der CMD-Line.

Für die Batch müssen alle Prozentzeichen der SchleifenVariablen verdoppelt werden.
Zum erstellen der Ordner ist eine andere Vorgehensweise erforderlich/besser:
01.
@echo off 
02.
setlocal disabledelayedexpansiopn 
03.
set "Quelle=D:\Daten" 
04.
pushD "%Quelle%" 
05.
 
06.
for /d %%i in (*) do ( 
07.
  set "Ordner=%%i" 
08.
  setlocal enabledelayedexpansion 
09.
  if not exist "!Ordner:~0,1!" md "!Ordner:~0,1!" 
10.
  @echo move "!Ordner!" "!Ordner:~0,1!" 
11.
  endlocal 
12.
13.
popD
Hier zeigt Dir @echo auch was es täte, wenn Du es entfernst.

Gruß Phil
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Vmware
gelöst Manche VMs lassen sich nicht in Ordner verschieben (3)

Frage von Zippo97 zum Thema Vmware ...

Batch & Shell
gelöst Dateien anhand des Namens in neue Ordner verschieben (17)

Frage von Cookiemonster zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (14)

Frage von liquidbase zum Thema Windows Update ...