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

Ordner verschieben anhand des ersten Buchstaben

Frage Entwicklung Batch & Shell

Mitglied: henradavis

henradavis (Level 1) - Jetzt verbinden

19.09.2012 um 04:48 Uhr, 2350 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 ..
Ähnliche Inhalte
Exchange Server
Ersten Buchstaben einer Mail werden abgeschnitten (2)

Frage von Philipp.S zum Thema Exchange Server ...

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 ...

Neue Wissensbeiträge
Viren und Trojaner

FinFisher: Internetprovider schieben Spitzelopfern Malware unter

(1)

Information von kaiand1 zum Thema Viren und Trojaner ...

Humor (lol)

Wo ist der Fehler auf dem Bild?

(17)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Update

Offenbar erneutes MS-Update mit Fehlerschleife (2012 R2)

Information von VGem-e zum Thema Windows Update ...

Heiß diskutierte Inhalte
Lizenzierung
Programm soll in verschiedenen Versionen lizenziert sein (20)

Frage von Yanmai zum Thema Lizenzierung ...

Humor (lol)
Wo ist der Fehler auf dem Bild? (17)

Information von the-buccaneer zum Thema Humor (lol) ...

Virtualisierung
Unterschied zwischen VDI und Terminal Server Lösungen (13)

Frage von tukawi06 zum Thema Virtualisierung ...