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

Per Skript Ordner kopieren und umbenennen (Monat)

Frage Entwicklung Batch & Shell

Mitglied: ShitzOvran

ShitzOvran (Level 1) - Jetzt verbinden

29.04.2009, aktualisiert 31.05.2010, 7300 Aufrufe, 4 Kommentare

Brauche ein Skript, dass mir einen Ordner kopiert und ihn dann umbenennt aber mit Monatsbezeichnung

Also ich hab in einem verzeichnis ein Ordner "Aktuell" liegen, in diesem Ordner wird eine MOnatssicherung der SQL Datenban erstellt... zum Ende des Monats, soll dieser Ordner kopiert werden, und umbenannt werdn in den Jeweiligen Monat...

Also das denn zum beispiel jetzt anfang Mai nicht mehr nur
'F:\_BACKUP_SQL_MONAT\AKTUELL' existiert, sondern zusätzlich der Ordner 'F:\_BACKUP_SQL_MONAT\APRIL' indem dann die Sicherung liegt, die den April über Aktuell war

wenn das überhaupt automatisiert funktioniert, dass er erkennt welchen MOnat wir haben & dementsprechend der Ordner benannt wird



[Edit Biber] verschoben von "BASIC" nach "Batch & Shell". War sicherlich ein Tipp/Klickfehler. [/Edit]
Mitglied: bastla
29.04.2009 um 17:21 Uhr
Hallo ShitzOvran!

Gibt es einen speziellen Grund, diese Frage im Bereich "BASIC" zu stellen? Für diesen Zweck würde ich einen Batch verwenden - etwa so:
01.
@echo off & setlocal 
02.
set "Pfad=F:\_BACKUP_SQL_MONAT" 
03.
set "Akt=AKTUELL" 
04.
 
05.
set "M=%date:~-7,2%" 
06.
set "Monat=" 
07.
if "%M%"=="01" set "Monat=Januar" 
08.
:: ergänzen 
09.
if "%M%"=="04" set "Monat=April" 
10.
:: ergänzen 
11.
if "%M%"=="12" set "Monat=Dezember" 
12.
if not defined Monat echo Monat konnte nicht ermittelt werden! & goto :eof 
13.
 
14.
if exist "%Pfad%\%Monat%\" rd /s /q "%Pfad%\%Monat%\" 
15.
xcopy /e "%Pfad%\%Akt%" "%Pfad%\%Monat%\"
Da Du ausgeschriebene Monatsnamen verwenden willst (für die abgekürzte Variante könnte zB auf "now.exe" zurückgegriffen werden), erfolgt die entsprechende Zuordnung zum aus dem Systemdatum ausgelesenen (zweistelligen) Monatswert durch die oben angedeutete (noch zu ergänzende) Reihe von "if"-Statements.

Alternativ (zu den Zeilen 5 bis 12) könnte der Monatsname auch zB so ermittelt werden:
01.
set /a M=1%date:~-7,2%-100 
02.
if %M% lss 0 echo Monat konnte nicht ermittelt werden! & goto :eof 
03.
if %M% gtr 12 echo Monat konnte nicht ermittelt werden! & goto :eof 
04.
for /f "tokens=%M%" %%i in ("Januar Februar März April ... Dezember") do set "Monat=%%i"
Danach (ab Zeile 14) wird ein ev bereits (aus dem Vorjahr) vorhandener "Monats"-Ordner gelöscht und dann kopiert.

Grüße
bastla
Bitte warten ..
Mitglied: 76109
29.04.2009 um 21:41 Uhr
Hallo bastla,

vielleicht währe ein VB-Script etwas einfacher, in dem das Longdatum nur gesplittet werden muss.

01.
x = FormatDateTime(Date, vbLongDate)   ' x =  "Mittwoch, 29. April 2009"
Gruß Dieter
Bitte warten ..
Mitglied: bastla
29.04.2009 um 21:46 Uhr
@76109
VBS ist natürlich bei "Datumsangelegenheiten" immer eine Option - obwohl sich hier dann wohl eher
x = MonthName(Month(Date))
anbieten würde.

Allerdings ist in diesem Fall der mit Batch zu treibende Aufwand mE durchaus überschaubar ...

Grüße
bastla
Bitte warten ..
Mitglied: 76109
29.04.2009 um 21:49 Uhr
Hallo bastla,

sorry, verlesen

Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch aktuellsten Ordner kopieren (2)

Frage von MmarKuss zum Thema Batch & Shell ...

Batch & Shell
gelöst Per Skript Ordner überwachen und Textdateien editieren und verschieben (4)

Frage von ThorstenL zum Thema Batch & Shell ...

Neue Wissensbeiträge
Heiß diskutierte Inhalte
Windows Systemdateien
gelöst NTFS und die Defragmentierung (29)

Frage von WinLiCLI zum Thema Windows Systemdateien ...

Windows Server
gelöst Wechsel von Server 2016 GUI auf Core mit minimal server interface (10)

Frage von Fruehling2017 zum Thema Windows Server ...