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

Batch zum verschieben von Daten in Datumsabhängige Verzeichnisse

Frage Microsoft Windows Tools

Mitglied: netdog

netdog (Level 1) - Jetzt verbinden

28.01.2013 um 13:32 Uhr, 1449 Aufrufe, 4 Kommentare

Hallo liebe community!

Ich würde gerne für ein IPcam System, welches die aufgenommenen Bilder per FTP auf einen W2k8R2 spielt, eine saubere Ordnerstruktur einführen.
Hierzu soll ein Batchscript täglich um 00:01 per Cronjob laufen, welches folgende Schritte für mich durchführt (ich erkläre es gleich Anhand eines Beispiels):

- Im Verzeichnis C:\share\ipcam\halle ein Verzeichnis mit dem Namen des gestrigen Datums - also z.B. 27.01.2013 - anlegen
- Alle JPGs mit dem Erstellungsdatum vom Vortag (in diesem Fall z.B. 27.01.2013) in das Verzeichnis "27.01.2013" verschieben.
- eine ZIP-Datei mit hoher Kompression des Verzeichnis "27.01.2013" erstellen und im Verzeichnis C:\share\backup ablegen
- ZIP-Datei "27.01.2013.zip" aus dem Verzeichnis C:\share\ipcam\halle\ wieder löschen

Wäre super wenn ihr hierfür eine Lösung parat hättet.
Ich weiß absolut nicht (auch nach Recherche im Netz) wie ich zu einer Variablen für den Vortag, also z.B. %YESTERDAY% komme bzw. wie ich es sonst im Skript umsetzen sollte.

Vielen Dank!

LG
Bernhard.
Mitglied: LordXearo
28.01.2013 um 14:06 Uhr
Hallo,

ich weiss nicht wie komfortabel Batch bei sowas ist. Ich würde aber lieber damit anfangen Powershell zu verwenden. Da ist sowas schnell erledigt.

(Get-Date).AddDays(-1)

Mfg

Xearo
Bitte warten ..
Mitglied: netdog
28.01.2013 um 14:08 Uhr
Vielen Dank für die schnelle Antwort!

Kannst du mir das Skript vielleicht kurz komplett machen?

Meine Scripting Kenntnisse sind nicht unbedingt die besten und in PowerShell schon gar nicht^^
Vielen Dank!

LG
Bernhard
Bitte warten ..
Mitglied: Friemler
28.01.2013, aktualisiert um 14:16 Uhr
Hallo netdog,

in Batchscript lässt sich mit Datumswerten schlecht rechnen. Dafür verwendet man am besten ein Inline-VBScript. BTW: Verzeichnisse/Dateien benennt man am besten (wegen der besseren Sortiermöglichkeit) im Format YYYY.MM.DD, so wie in folgendem Script:
01.
@echo off & setlocal 
02.
 
03.
set "GetYesterday=%TEMP%\GetYesterday.vbs" 
04.
 
05.
> "%GetYesterday%" echo.dYesterday = DateAdd("d", -1, Date) 
06.
>>"%GetYesterday%" echo.WScript.Echo Year(dYesterday) ^& "." ^& Right("0" ^& Month(dYesterday), 2) ^& "." ^& Right("0" ^& Day(dYesterday), 2) 
07.
 
08.
for /f "delims=" %%d in ('cscript /nologo "%GetYesterday%"') do ( 
09.
  set "Yesterday=%%d" 
10.
11.
 
12.
del "%GetYesterday%" 
13.
 
14.
echo %Yesterday%
Gruß
Friemler
Bitte warten ..
Mitglied: netdog
28.01.2013, aktualisiert um 15:27 Uhr
Super, vielen vielen Dank, das hat mir sehr geholfen, das war auch schon die Lösung.

LG
Bernhard
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Batch zum verschieben von Ordnern anhand des Erstellungsdatums (4)

Frage von AcJoker zum Thema Batch & Shell ...

Batch & Shell
Datei nach Erstellungsdatum verschieben (2)

Frage von Kugelschreiber1 zum Thema Batch & Shell ...

Batch & Shell
gelöst Ordner per Batch verschieben, Datei kopieren (2)

Frage von Shape.Shifter zum Thema Batch & Shell ...

Windows Server
Verzeichnisse löschen (2)

Frage von MiSt zum Thema Windows Server ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
gelöst Raid-Controller (Areca) Datenverlust trotz R5 (16)

Frage von sebastian2608 zum Thema Festplatten, SSD, Raid ...

Server-Hardware
HP ProLiant DL380 G7, POST Error: 1785-Drive Array not Configured (10)

Frage von Paderman zum Thema Server-Hardware ...

Windows Server
Drucker per GPO auf Userebene freigeben (9)

Frage von Stefan007 zum Thema Windows Server ...

Microsoft Office
gelöst Office 365 Pro Domäne einrichten OHNE Webseite (9)

Frage von thklemm zum Thema Microsoft Office ...