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

verschieben von daten nach buchstabe in verschiede ordner

Frage Entwicklung Batch & Shell

Mitglied: koluschkiB

koluschkiB (Level 1) - Jetzt verbinden

30.06.2009, aktualisiert 09:36 Uhr, 2582 Aufrufe, 1 Kommentar

morgen Admin freunde

sitz mal wieder vor einer offenen frage und komme nicht richtig weiter

nun zu meinem problem,

ich möchte gerne einen ordner inhalt Verschieben und dann zb nach Buchstabe Sortieren.
und wazr wie folgt stelle ich es mir vor, in einem ordner C:\XYZ sind verschieden daten hinterlegt. nun möchte ich per batch skript denn ordner einlesen und die darin befindenen daten auf verschiede ordner verschieben, mit 3 möglichkeiten

1. Nach Größe

2. Datum

3. Name

zu 1. es wird ein ordner für daten bis 1MB, 1 Ordner für daten zwischen 1-5MB und ein 1. Ordner ab 5MB angelegt, nun sollen die daten aus dem ordner C:\XYZ auf die jeweiligen Ordner verschoben werden

zu 2. es wird ein ordner für daten nicht älter als 1 Woche, 1 Ordner für daten zwischen 1. Woche bis 1. Monat und ein 1. Ordner 1 Monat oder älter angelegt, nun sollen die daten aus dem ordner C:\XYZ auf die jeweiligen Ordner verschoben werden

zu 3. es wird ein ordner für daten A-I, 1 Ordner für daten zwischen J-R und ein 1. Ordner S-Z angelegt, nun sollen die daten aus dem ordner C:\XYZ auf die jeweiligen Ordner verschoben werden

ich hab schon folgendes gebastelt, mir fehlt nur noch der richtige ansatz was das verschieben angeht

es sollten auch Unterordner in dem angegebenen ordner berücksichtigt werden

01.
 
02.
echo --Waehlen Sie den Pfad, der Sortiert werden soll!-- 
03.
echo. 
04.
echo         Bsp. C:\Test\xyz 
05.
 
06.
 
07.
:path 
08.
echo. 
09.
set /p path= 
10.
 
11.
 
12.
echo. 
13.
 
14.
 
15.
echo --Waehlen sie ihre Sortierungsart!-- 
16.
echo. 
17.
echo Groesse [g/G]; Name [n/N]; Datum [d/D] 
18.
 
19.
set /p v= 
20.
	if /i "%v%"=="g" goto Groesse 
21.
	if /i "%v%"=="n" goto Name 
22.
	if /i "%v%"=="d" goto Datum 
23.
 
24.
:Groesse 
25.
 
26.
mkdir C:\Groesse_1MB 
27.
mkdir c:\Groesse_1MB-5MB 
28.
mkdir c:\Groesse_5MB 
29.
 
30.
 
31.
:Name 
32.
 
33.
mkdir c:\Name_A-I 
34.
mkdir c:\name_J-R 
35.
mkdir c:\name_S-Z 
36.
 
37.
:Datum 
38.
 
39.
mkdir c:\Datum_bis 1Woche 
40.
mkdir c:\Datum_bis 1Monat 
41.
mkdir C:\datum_ab 1Monat 
42.
 
43.
pause 
44.
 
ich hoffe ihr könnt mir weiter helfen

gruß

koluschkiB
Mitglied: miniversum
30.06.2009 um 16:09 Uhr
Zunächstmal: path ist ein ganz schlecht gewählter name für die Variable, weil es schon eine Umgebungsvariable mit diesem Namen gibt, die auch nicht ganz unwichtig für die Abarbeitung einiger Befehle ist.
Deshalb nennen ich da hier mal einfach pfad.

Sortieren nach Namen geht z.b. so:
01.
FOR /F "delims=" %%i in ('dir /b "%pfad%\*.*) do call:copyasname "%%~fi" 
02.
goto:eof 
03.
 
04.
:copyasname 
05.
set "name=%~1" 
06.
set buchstabe=%name:~0,1% 
07.
set verz="c:\name_Ohne_Buchstabe" 
08.
FOR %%b IN (a b c d e f g h i) DO if /i "%buchstabe%"=="%%b" set verz="c:\Name_A-I" 
09.
FOR %%b IN (j k l m n o p q r) DO if /i "%buchstabe%"=="%%b" set verz="c:\name_J-R" 
10.
FOR %%b IN (s t u v w x y z) DO if /i "%buchstabe%"=="%%b" set verz="c:\name_S-Z" 
11.
mkdir "%verz%" 
12.
move "%name%" "%verz%" 
13.
goto:eof
Bitte warten ..
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Heiß diskutierte Inhalte
Router & Routing
gelöst Ipv4 mieten (22)

Frage von homermg zum Thema Router & Routing ...

Exchange Server
gelöst Exchange 2010 Berechtigungen wiederherstellen (20)

Frage von semperf1delis zum Thema Exchange Server ...

Windows Server
DHCP Server switchen (20)

Frage von M.Marz zum Thema Windows Server ...

Hardware
gelöst Negative Erfahrungen LAN-Karten (19)

Frage von MegaGiga zum Thema Hardware ...