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
GELÖST

Automatisiertes Verschieben von Ordnern

Frage Entwicklung Batch & Shell

Mitglied: BinderAlex

BinderAlex (Level 1) - Jetzt verbinden

26.06.2008, aktualisiert 09:29 Uhr, 2927 Aufrufe, 2 Kommentare

Hallo zusammen,

ich nutze das nachfolgende Skript um das Alter (in Minuten) von Verzeichnissen zu überprüfen und im entsprechenden Fall eine Aktion durchzuführen:

@echo off & setlocal

set "Basis=C:\Test"
set /a MaxAge=2
set C=%temp%\ChkAge.vbs


echo WScript.Echo DateDiff("n",WScript.Arguments(0),Now)>%C%
for /d %%v in ("%Basis%\*.*") do call :ProcessFolder "%%v"
goto :eof


:ProcessFolder
for /f "tokens=1-2" %%i in ('dir "%Basis%" /ad /tc^|findstr /i /c:"%~n1"') do set "DT=%%i %%j"
for /f %%i in ('cscript //nologo %C% "%DT%"') do set /a "Age=%%i"

if %Age% gtr %MaxAge% (
echo Das Skript funktioniert fuer %1
)

goto :eof

Nun zum Problem:

In einem bestimmten, festen Verzeichniss, sollen alle enthaltenen Dateien (alle mit Endung .bak) anhand der Jahreszahl (CreateDate) in die entsprechenden Ordner verschoben werden.
Also eine Datei aus dem Jahr 2007 soll in den Ordner "2007" verschoben werden und wenn dieser nicht existiert, soll er angelegt werden.

Welchen Teil des o.g. Skripts muss ich hierfür anpassen?

Vielen lieben Dank schon im Voraus für eure Hilfe
Mitglied: bastla
26.06.2008 um 09:07 Uhr
Hallo BinderAlex!

Die neue Problemstellung hat nur bedingt mit der vorhergehenden zu tun ...

01.
@echo off & setlocal 
02.
set "Verzeichnis=C:\Test" 
03.
set "Ext=.bak" 
04.
set "Ziel=C:\Archiv" 
05.
 
06.
for /f "tokens=1,4" %%i in ('dir /a-d /tc "%Verzeichnis%"^|findstr /i /c:"%Ext%"') do call :ProcessFile "%%i" "%%j" 
07.
goto :eof 
08.
 
09.
:ProcessFile 
10.
for /f "tokens=3 delims=." %%a in (%1) do set Jahr=%%a 
11.
if not exist "%Ziel%\%Jahr%\" md "%Ziel%\%Jahr%\" 
12.
echo move "%Verzeichnis%\%~2" "%Ziel%\%Jahr%\" 
13.
goto :eof
Das Zielverzeichnis wird bei Bedarf neu erstellt, das Verschieben der Dateien durch das "echo" vor dem "move" derzeit nur simuliert - auch, da im Falle einer Namensgleichheit zwischen einer zu verschiebenden Datei und einer sich bereits im Zielverzeichnis befindenden letztere kommentarlos überschrieben würde ...

Grüße
bastla
Bitte warten ..
Mitglied: BinderAlex
26.06.2008 um 09:29 Uhr
Jaa aber so ein bissle hat das schon miteinander zu tun ;)

Auf jeden Fall vielen lieben Dank ... das Skript läuft super.Namensgleichheit kann in diesem Fall ausgeschlossen werden, da es sich um automatisch erstellte Dateien handelt Dankeeeeeeschön

Viele Grüße
Alex
Bitte warten ..
Ähnliche Inhalte
Vmware
gelöst Manche VMs lassen sich nicht in Ordner verschieben (3)

Frage von Zippo97 zum Thema Vmware ...

Batch & Shell
Batch zum verschieben von Ordnern anhand des Erstellungsdatums (4)

Frage von AcJoker zum Thema Batch & Shell ...

Batch & Shell
Ordner mit selben Namen verschieben (13)

Frage von 918103 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheit

Millionen Euro in den Sand gesetzt?

(1)

Information von transocean zum Thema Sicherheit ...

Sicherheit

How I hacked hundreds of companies through their helpdesk

Information von SeaStorm zum Thema Sicherheit ...

Erkennung und -Abwehr

Ccleaner-Angriff war nur auf große Unternehmen gemünzt

(10)

Information von Lochkartenstanzer zum Thema Erkennung und -Abwehr ...

Heiß diskutierte Inhalte
Humor (lol)
gelöst Freidach Beitrag (40)

Frage von Penny.Cilin zum Thema Humor (lol) ...

Windows 7
gelöst SSD - Win7 Lags (20)

Frage von ph5555 zum Thema Windows 7 ...

Firewall
gelöst Firewall Firmeneimsatz (19)

Frage von wiesi200 zum Thema Firewall ...