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

Automatisiertes Verschieben von Ordnern

Frage Entwicklung Batch & Shell

Mitglied: BinderAlex

BinderAlex (Level 1) - Jetzt verbinden

26.06.2008, aktualisiert 09:29 Uhr, 2917 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
Exchange Server
Exchange + Outlook 365 - Absturz beim Verschieben von Ordnern

Frage von JackNukem zum Thema Exchange Server ...

Batch & Shell
Dateien nach Datum verschieben (4)

Frage von LOWTIM zum Thema Batch & Shell ...

Windows 7
gelöst Dateien verschieben Sicheheitswarnung Aktivieren (1)

Frage von Krabbelfiechle zum Thema Windows 7 ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (35)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (15)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

Backup
Backup Wochen- Monats- Jahressicherung (13)

Frage von Meterpeter zum Thema Backup ...

RedHat, CentOS, Fedora
Fedora, RedHat, Centos: DNS-Search Domain setzen (13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...