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 automatisch verschieben wenn 30 Tage oder älter

Frage Entwicklung Batch & Shell

Mitglied: 42641

42641 (Level 1)

26.03.2007, aktualisiert 29.03.2007, 7017 Aufrufe, 4 Kommentare

Automatisierte verschiebung von Ordnern mit einer Datumsangabe als Name

Hallo Leute

Ich habe ne kleine Aufgabe die ich aber net gebacken bekomme. Wie beim letzten Mal geht es um eine Batch datei die
etwas tun soll und dies auch in einem Log ausgeben soll.
Diesmal wäre die Aufgabe wie Folgt.
Ich habe hier ein System das Daten in Ordner packt. Nun sollen alle Ordner die älter sind als einen Monat über ein
Netzlaufwerk auf einen anderen Rechner verschoben werden.
Diese Ordner sehen wie Folgt aus :

z.b

2007_02_01_09_24_05_564

darin befinden sich die dateien.

Ordner die nicht älter als ein Monat sind sollen bleiben, ältere sollen übers Netz verschoben werden.

Dazu soll in einem Logfile mit Datum un Uhrzeit zusehen sein ob die Ordner erfolgreich oder nicht erfolgreich verschoben wurden.

Hat jemand eine Lösung ?

Ich weiß das man irgendwie den Teil von 2007 bis 01 also 2007_02_01 abprüfen muss mit dem aktuellen Datum. Der Rest dahinter
is nicht wichtig.

Bin für jede Hilfe sehr dankbar.

MfG

Thomas S.
Mitglied: Biber
26.03.2007 um 18:17 Uhr
Moin tRipleT,

das ist eigentlich nicht so aufwändig.

Wie aus einem beliebigen Windows-Anzeigedatum Tag, Monat und Jahr extrahiert werden können, haben wir schon mehrfach im Forum stehen.
Und aus Jahr/Monat/Tag bastelst Du Dir ein Ansi-Datum (Format JJJJMMTT).

Beispiel: wenn die ein "echo %date%" am CMD-Prompt zurückgäbe "26.03.2007", dann hättest Du das mit
for /f "tokens=1-3 delims=." %i in ("date") do set /a "AnsiDate=%c%b%a"
...in eine "numerische" Variable %AnsiDate% mit dem Wert 20070326 sortiert.

Wenn Deine Ordner-Konvention so ist wie beschrieben, dann bekommst Du alle diese Ordner aufgelistet mit...
dir /a:d /b ????_??_??_??*
--oder-
dir /a:d /b 200?_??_??_??*

Also kannst Du dann mit zwei weiteren Anweisung das Ganze vergleichen:
01.
Set /a LastMonthAnsiDate=%AnsiDate% -100 
02.
for /f "tokens=1-3* delims=_" %i in ('dir /a:d /b ????_??_??_??*') do @if [%i%j%k] LEQ [%LastMonthAnsiDate%] move "%i_%j_%k_%l" x:\archiv\
So wäre es vom CMD-Prompt.
Im Batch zwei Prozentzeichen statt einem.

[Okay, die Skizze wären nun nicht exakt 30,00 Tage.... aber vielleicht muss das auch nicht...]

Gruss Biber
Bitte warten ..
Mitglied: bastla
26.03.2007 um 18:50 Uhr
Hallo tRipleT!

Und wenn's Dir das wert ist: so werden es genau 30 Tage (als Ersatz für Biber's erste Zeile verwenden):
01.
set days=30 
02.
echo Old=DateAdd("d",-%days%,Now)>%temp%\GetOldANSIDate.vbs 
03.
echo WScript.Echo Year(Old)^&Right("0"^&Month(Old),2)^&Right("0"^&Day(Old),2)>>%temp%\GetOldANSIDate.vbs 
04.
for /f %%d in ('cscript //nologo %temp%\GetOldANSIDate.vbs') do set /a LastMonthAnsiDate=%%d 
05.
del %temp%\GetOldANSIDate.vbs
Grüße
bastla
Bitte warten ..
Mitglied: 42641
29.03.2007 um 09:53 Uhr
Ok ich werd das mal versuchen.... thx
Bitte warten ..
Mitglied: Biber
29.03.2007 um 12:40 Uhr
Moin tRipleT,

bitte gib irgendwann nach dem Testen noch mal Feedback, ob es klappt.
Und nett wäre dann auch das Posten der final version für die Nachwelt.

Danke
Biber

[Edit] 7.5.2007. Da der Threadowner inzwischen ein "abgemeldetes Mitglied" ist, wird dieses Feedback wohl leider nicht mehr kommen.
Dann schliesse ich den Thread mal.
[/Edit]
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Dateien verschieben die älter sind wie 1 Tag (3)

Frage von pblacky zum Thema Batch & Shell ...

Exchange Server
Mails mit "SPAM" im Betreff automatisch in Junk-Ordner verschieben (8)

Frage von BleppSatter zum Thema Exchange Server ...

Windows Server
gelöst Dateien in einem Ordner nach XY Tagen löschen (3)

Frage von Adnan88 zum Thema Windows Server ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

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

Heiß diskutierte Inhalte
Windows Server
Kennwort vergessen bei Hyper vserver 2012r (12)

Frage von jensgebken zum Thema Windows Server ...

Linux Desktop
Bildschirmauflösung unter Linux festlegen (12)

Frage von itebob zum Thema Linux Desktop ...

Windows Userverwaltung
gelöst Administrator hat alle Rechte verloren (10)

Frage von mrdead zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
Gebäude mit WLAN ausstatten (9)

Frage von udobec zum Thema LAN, WAN, Wireless ...