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

Via batch das aktuelle Datum minus 1nem Monat als Dateinamen ausgeben

Frage Entwicklung Batch & Shell

Mitglied: cali169

cali169 (Level 1) - Jetzt verbinden

09.03.2011, aktualisiert 18.10.2012, 12850 Aufrufe, 33 Kommentare

Hallo zusammen,

bitte net gleich schlagen, habe gegoogelt aber bin net schlau geworden. würde mich über hilfe freuen.

vielen dank im voraus.

also ich habe ein script welches mir dateien zippt. der dateiname wird mit dem aktuellen datum versehen " D1AMG_02-2011.zip ". dies funktioniert.

ich hätte nur gern das das aktuelle datum minus 1nem monat als dateiname angezeigt wird.


rem @echo off

set "Datum=%date:~-7,2%-%date:~-4%"

for %%i in (X:\SicherungDB2\D1AMG\*.001) do C:\Programme\7-Zip\7z.exe a "D1AMG_%Datum%.zip" "%%i"
33 Antworten
Mitglied: Skyemugen
09.03.2011, aktualisiert 18.10.2012
Aloha,

nun, da wir gerne das „wie-schaffe-ich-es-selbst” fördern, verlinke ich dir mal nur diesen Thread, wo eigentlich schon alles drin ist, was du brauchen wirst (nämlich am Einfachsten ein temporäres VBScript).

Was mich nur wundert: Momentan gibst du nur MM-JJJJ aus, willst aber doch wirklich schon den Tag-1, ja? =)

greetz André
Bitte warten ..
Mitglied: cali169
09.03.2011 um 09:05 Uhr
thx für die antwort, habe evtl. eine info unterschlagen sry

habe meine frage angepasst,


das ergebnis schaut aktuell so D1AMG_02-2011.zip aus. nun wird die zip datei immer am monats ersten für den vormonat erstellt. glaube das mit dem minus 1nen tag ist blödsinn von mir.

es sollte also eine zippdatei die in 03 erstellt wird im namen den 02. haben.

hoffe ist verständlich?
Bitte warten ..
Mitglied: Skyemugen
09.03.2011 um 09:41 Uhr
Aloha,

dann so?

01.
set "G=%temp%\monthago.vbs" 
02.
 
03.
REM Das VBScript wird erzeugt, für die Datumsberechnung 
04.
>%G% echo wscript.echo DateAdd("m",-1,Date) 
05.
for /f %%i in ('cscript //nologo %G%') do set "monthago=%%i" 
06.
del %G% 
07.
 
08.
set "Datum=%monthago:~-7,2%-%monthago:~-4%" 
greetz André
Bitte warten ..
Mitglied: Crusher007
09.03.2011 um 10:53 Uhr
Hi cali,

also ich habs bei mir iner batch ganz einfach so gelöst:

01.
@echo off & setlocal 
02.
set currentMONTH=%date:~3,2% 
03.
set /a "lastMONTH=%currentMONTH%-1" 
04.
 
05.
echo %lastMONTH% 
06.
pause
Greets Crusher
Bitte warten ..
Mitglied: Skyemugen
09.03.2011 um 10:58 Uhr
Aloha Crusher,

was macht er dann im Januar?

1 minus 1 = 0, was aber falsch wäre, da Januar minus 1 = Dezember wäre also 12, was mit batch so aber nicht geht (daher auch VBS) ;)

greetz André
Bitte warten ..
Mitglied: Ralph4
09.03.2011 um 11:58 Uhr
1 minus 1 = 0, was aber falsch wäre, da Januar minus 1 = Dezember wäre also 12, was mit batch so aber nicht geht (daher
auch VBS) ;)

greetz André

Hallo Andrè

hier mal ein Beispiel für Dos

@echo off & setlocal
set currentMONTH=%date:~3,2%
set currentYear=%date:~6,4%

set /a "lastMONTH=%currentMONTH%-1"
set /a "lastYear=%currentYear%-1"

if %lastMonth% == 0 Goto Ausgabe1
if not %lastMonth% == 0 Goto Ausgabe2



:Ausgabe1
echo 12_%lastYear%
pause

:Ausgabe2
echo %lastMONTH%_%currentYear%
pause
Bitte warten ..
Mitglied: cali169
09.03.2011 um 12:14 Uhr
sry, war an ner anderen bausstelle,

vielen dank für die antworten,

@ ralph

wie binde ich das jetzt in meinen namen der zippdatei ein?


set "Datum=%date:~-7,2%-%date:~-4%"

for %%i in (X:\SicherungDB2\D1AMG\*.001) do C:\Programme\7-Zip\7z.exe a "D1AMG_%Datum%.zip" "%%i"
Bitte warten ..
Mitglied: Ralph4
09.03.2011 um 12:23 Uhr
Hallo Cali169

dein Set Datum schreibst du dorthin wo mein Echo steht und benutzt dann weiter deine Variable.

Hier das veränderte Script:

@echo off & setlocal
set currentMONTH=%date:~3,2%
set currentYear=%date:~6,4%

set /a "lastMONTH=%currentMONTH%-1"
set /a "lastYear=%currentYear%-1"

if %lastMonth% == 0 Goto Ausgabe1
if not %lastMonth% == 0 Goto Ausgabe2



:Ausgabe1
set myDate=01_12_%lastYear%
echo %myDate%
goto myRename

:Ausgabe2

set myDate=01_%lastMONTH%_%currentYear%
echo %myDate%
goto myRename

:myRename

ren test.bat "%myDate%.bat"
Bitte warten ..
Mitglied: Skyemugen
09.03.2011 um 12:33 Uhr
Aloha Ralph,

nimm es mir nicht übel aber ich finde derartige „Basteleien” unschön (nicht nur für's Auge) und habe lieber ein Fundament, was alles erfüllt und mehrfach einsetzbar ist (mach das mal mit Tage, viel Spaß mit batch ... ich nutze das VBS auch für Tage und muss dann nur einen Buchstaben ändern).

greetz André
Bitte warten ..
Mitglied: Ralph4
09.03.2011 um 12:39 Uhr
Hallo Andrè

ich persönlich finde batch dateien auch nicht so berühmt und arbeite lieber mit VBS oder .net aber wenn ausdrücklich nach batch gefragt wird kann man sich ja mal verbiegen.
Wir wissen ja nicht was dahintersteckt und wofür er es benötigt.
Wie gesagt die Wahl meiner Mittel wäre auch VBS.

LG Ralph4
Bitte warten ..
Mitglied: Skyemugen
09.03.2011 um 13:05 Uhr
Aloha,

Zitat von Ralph4:
aber wenn ausdrücklich nach batch gefragt wird

dann ignorieren, nein optimieren wir es hier bei solchen Sachen gerne *gg* bzw. verschleiern alles ins batch ;)

greetz André

P.S.: Codeformatierung mit code-tags sind ebenso schöner für's Auge =)

edit: Warum machst du nicht wenn dann else statt if not? Warum zweimal dasselbe abfragen?
if %lastMonth%==0 (Goto Ausgabe1) else (Goto Ausgabe2)
Bitte warten ..
Mitglied: cali169
09.03.2011 um 14:29 Uhr
thx @ all,


ich habe es noch für meine bedürfnisse angepasst und in meiner variable einfach datum durch mydate ersetzt. den wochentag habe ich auch entfernt.

es funktioniert und das zählt.

auch wenn es net unbedingt schön fürs auge ist
Bitte warten ..
Mitglied: 60730
09.03.2011 um 17:19 Uhr
moin,

das tut ja richtig weh......

01.
setlocal 
02.
set MONTH=%date:~3,2% 
03.
set Year=%date:~6,4% 
04.
if  %MONTH% gtr 2 set /a "MONTH=%MONTH%-1" 
05.
if  %MONTH%==1 set /a "MONTH=+11" & set /a "Year=-1" 
06.
 
07.
echo %MONTH%_%Year% 
08.
pause
@sky - "Basteln" darf und macht hier nur der Bastla - auch wenn das von euch beiden gut gemeint war, aber hier in dem Forum so eine Batch als Lösung zu präsentieren, das ist pervers

Gruß
Bitte warten ..
Mitglied: Skyemugen
09.03.2011 um 17:29 Uhr
Aloha T-Mo!

Mal sachte, ja ... ich habe hier nichts perverses verbreitet nur den üblichen VBS-Kram, den man gerne nutzt (kam damals von bastla).
Dieses sonstige Gefummel habe ich mir gar nicht erst groß angeguckt es schreckte einfach ab. Ich bleibe lieber bei never change a running system aber reicht ja, wenn du dir die Mühe mit dem Augenkrebs angetan hast und was rumgebätschelt hast :P

greetz André

zieh mich da nicht mit in den Sumpf rein
Bitte warten ..
Mitglied: Biber
09.03.2011 um 18:31 Uhr
[OT] @T-Mo

Nichts gegegen deinen Algorithmus, aber drei bis vier Nachfragen hätte ich doch noch ...

a) Wenn doch diese beide Zeilen alle Zeilen sind, in denen der Vormonat "berechnet" werden soll...
if %MONTH% gtr 2 set /a "MONTH=%MONTH%-1"
if %MONTH%==1 set /a "MONTH=+11" & set /a "Year=-1"

Habe ich dann mit der zweiten Zeile einen %MONTH%-Wert von 1 und mit der Zeile darüber alle %MONTH%e mit 3 und größer berücksichtigt?
Fehlt da nicht der Februar??

b) Kann denn wohl, wenn %MONTH% ein zweistelliger String ist wie hier
set MONTH=%date:~3,2%
.... kann denn dieser zweistellige Wert auch gléich der Ziffer 1 sein?
01.
>if 01==1 @echo Guck ma' was ich zaubern kann.... 
02.
 
c) aber auch eine geänderte Zeile
if "%MONTH%" gtr "01" set /a "MONTH=%MONTH%-1"
würde doch nur die linke Seite, den IF Vergleich hinbekommen. Rechts davon klappt es nur bis zum September..
01.
>if "09" gtr "01" set /a 09-1 
02.
Ungültige Zahl. Nummerische Konstanten sind entweder dezimale (17), 
03.
hexadezimale (0x11) oder oktale (021) Zahlen.
d) WhoTF fällt denn auf sowas rein:
if %MONTH%==1 set /a "MONTH=+11" ....
--> Wenn %MONTH% = 1 (oder 01) ist, dann muss ich 11 addieren lassen von einer Rechenmaschine??? Ist das die Message? ;-9
Kann ich nicht einfach sagen: Wenn "%MONTH%"=="01" Set "MONTH=12" ?? Mein' ja nur....

Hey, wenn der TO irgendein Zivi ist, der mit euren Batch-Datumsberechnungen die Essensausgabe in einer Seniorenresidenz fernsteuert....
Und man merkt es wahrscheinlich erst nach Wochen...

Grüße
Biber
[/OT]
Bitte warten ..
Mitglied: 60730
09.03.2011 um 19:47 Uhr
moin mädelz..

ich hatte ursprunglich noch ein "ungetestet" unter dem Schnippsel und wenn ich mir das zusammengekürzte und von mir im Hauruckverfahren zurechtgestutzte Ralfscript jetzt genauer ansehe....
...au Backe

Fehlt da nicht der Februar??
Si Senôr - mindestens -
@Andre
Mal sachte, ja ... ich habe hier nichts perverses verbreitet
Die Zeile bezog sich auf das unschöne Script von Ralf und deinen Kommentar "gebastelt"
[/OT]

gruß
Bitte warten ..
Mitglied: Skyemugen
09.03.2011 um 19:54 Uhr
Zitat von 60730:
Die Zeile bezog sich auf das unschöne Script von Ralf und deinen Kommentar "gebastelt"

Gut! Dann einigen wir uns auf geschustert *g* der TE muss auch schon denken: „Was geht denn hier ab?!”
Bitte warten ..
Mitglied: Biber
09.03.2011 um 20:05 Uhr
[OT]
Zitat von Skyemugen:
Gut! Dann einigen wir uns auf geschustert *g*
Nein, das geht nicht.
Meine sofort abspulende freie Assoziationskettenrolle kommt dann sofort von "schuster" auf "bleib bei deinen "Leisten".
Und von "Leisten" komm ich natürlich sofort auf meine Praktikantinnen.
Also - rein assoziativ natürlich nur. *rotwerd*
Aber auch das ist seit heute, dem Beginn der Fastenzeit, nicht mehr angebracht.

"Schustern" entfällt also, "zusammenbraten" geht auch nicht (nix fleischliches, nix braten) ...
"Zusammenschroten" vielleicht.... nein, bei "Schrot" denke ich sofort an "Korn"...*grybel......

Melde mich, sobald mir etwas Unverfängliches einfällt...

Grüße
Biber
[/OT]
Bitte warten ..
Mitglied: Ralph4
09.03.2011 um 20:06 Uhr
hallo an die lieben Mitwirkenden.

ich finde es super wie hier auf Anfragen reagiert wir. (wenn alles vorbei ist zerupfen wir mal das was geschrieben wurde).
Warum sollte man sich auch auf das helfen(in welcher Form auch immer) beschränken wenn das lästern doch so schön ist.
Dass dieses Script nicht das schönste ist mal dahingestellt, es tut und wie ich der Antwort entnehme hat es der betreffenden Person so geholfen.
Da ich jetzt aber die Reaktion darauf sehe, ärgere ich mich, dass ich dachte dies ist eine etwas andere Platform als die üblichen.
Ach übrigens mit dieser Art überlegt sich jeder zweimal ob er auf eine Frage antwortet. Sollte das die eigentliche Intension sein, kann ich nur sagen Ziel erreicht.

Einen schönen Abend noch.
Bitte warten ..
Mitglied: Biber
09.03.2011 um 20:51 Uhr
Moin Ralph,

Zitat von Ralph4:
hallo an die lieben Mitwirkenden.

ich finde es super wie hier auf Anfragen reagiert wir. (wenn alles vorbei ist zerupfen wir mal das was geschrieben wurde).
Warum sollte man sich auch auf das helfen(in welcher Form auch immer) beschränken wenn das lästern doch so schön ist.
Jepp, den Schuh mit dem gerne Lästern zieh ich mir an, aber....
Dass dieses Script nicht das schönste ist mal dahingestellt, es tut und wie ich der Antwort entnehme
hat es der betreffenden Person so geholfen.
Ja, schon.
Als Hilfs-Moderator in diesem Skriptingbereich kann ich aber nicht "echte" Fehler so stehen lassen.
Und darauf hoffen, dass es der TO erst im Monat 09=September oder 02=Februar merkt.
Um die Ästhetik oder Eleganz ging es mir nicht - und hey! Wenn ich versuchen würde, einem Java- oder C#-Coder oder auch nur meiner Oma zu erzählen, dass es "hübsche" und "hässliche" Batchskripte gibt - die werden etwas irritiert gucken.
.
Da ich jetzt aber die Reaktion darauf sehe, ärgere ich mich, dass ich dachte dies ist eine etwas andere Platform als die üblichen.
Nein, wir sind da nicht besser und nicht anders. Aber wir arbeiten daran.
Ach übrigens mit dieser Art überlegt sich jeder zweimal ob er auf eine Frage antwortet.
Sollte das die eigentliche Intension sein, kann ich nur sagen Ziel erreicht.
Wenn es bei dir so angekommen ist: dann von mir eine Entschuldigung im Namen aller.
Es sollte nicht herunterputzend, nicht arrogant, nicht beleidigend sein und ja: es haben alle auch gelesen, dass der TO deinen Ansatz als Lösung für seine Frage ansieht und damit durchaus glücklich ist.

Einen schönen Abend noch.
Dir auch und nimm es nicht so persönlich.

Grüße
Biber
Bitte warten ..
Mitglied: bastla
09.03.2011 um 21:24 Uhr
Hallo @All!

Da das "September"-Problem (bzw eigentlich das "August"-Problem - auch "08" ist keine gültige Oktalzahl) noch nicht gelöst ist, auch von mir noch eine Variante:
01.
@echo off & setlocal 
02.
set "MONTH=%date:~-7,2%" 
03.
set "YEAR=%date:~-4%" 
04.
 
05.
set /a MONTH=1%MONTH%-1 
06.
set "MONTH=%MONTH:~-2%" 
07.
if %MONTH%==00 ( 
08.
    set "MONTH=12" 
09.
    set /a YEAR-=1 
10.
11.
 
12.
set "Datum=%MONTH%-%YEAR%" 
13.
echo %Datum%
Zum Testen anderer Monatswerte einfach die freie Zeile 4 dazu verwenden, zB
set "MONTH=01"
einzufügen ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
09.03.2011 um 21:27 Uhr
[OT] @bastla
bzw eigentlich das "August"-Problem - auch "08" ist keine gültige Oktalzahl)
Ich habe den August nicht erwähnt, weil doch dann alle Urlaub haben und dieser Batch nicht läuft...

Hier noch mal der hoffentlich visualierte Fehler in Ralph4s Ursprungsansatz:
01.
@echo off & setlocal  
02.
set currentMONTH=%date:~3,2%  
03.
REM Hier kommt ein ZWEISTELLIGER String raus "01", "02" ....."11", "12" 
04.
 
05.
set currentYear=%date:~6,4%  
06.
REM .... unkritisch ..."2010"..."2011" "2012".... 
07.
 
08.
set /a "lastMONTH=%currentMONTH%-1"  
09.
REM set /a "lastMONTH=01-1" ---> okay--> ergibt 0 
10.
REM set /a "lastMONTH=02-1" ---> okay--> ergibt 1 
11.
REM set /a "lastMONTH=03-1" ---> okay--> ergibt 2 
12.
... 
13.
REM set /a "lastMONTH=07-1" ---> okay--> ergibt 6 
14.
REM set /a "lastMONTH=08-1" ---> knallt, weil 08 als Oktal-Zahl interpretiert wird, probier es aus 
15.
REM set /a "lastMONTH=09-1" ---> knallt, weil 09 als Oktal-Zahl interpretiert wird, probier es aus 
16.
REM set /a "lastMONTH=10-1" ---> okay, ergibt 9 
17.
....
Grüße
Biber
[/OT]
Bitte warten ..
Mitglied: pieh-ejdsch
10.03.2011 um 01:22 Uhr
moin,

aber jetzt mal wieder was zum Verbessern gefunden (nich lachen! is bei mir auch net anders.)

@bastla
Deine Zeile 05 würde nicht funktionieren wenn keine vornull im Monat steckt (im Sinne von Falsches Resultat)
set /a MONTH=1%MONTH%-1
gibts überhaubt ein %date% ohne Vornull

Gruß Phil
Bitte warten ..
Mitglied: Ralph4
10.03.2011 um 07:34 Uhr
Danke Biber,

jetzt habe ich es auch verstanden und finde das Skript vom bastla gut.
Habe mir auf Grund dieses Thread vorgenommen keine ungetesteten Scripts zu publizieren.
Ich hoffe cali schaut noch einmal rein und verändert sein Skript dahingehend.

Grüße Ralph
Bitte warten ..
Mitglied: bastla
10.03.2011 um 07:56 Uhr
@PH
gibts überhaubt ein %date% ohne Vornull
Wenn dem so wäre, würde schon die Zerlegung des Datums scheitern ...

Falls Du aber dennoch zB
9.3.2011
erwarten würdest, dann einfach:
set /a MONTH=1%MONTH:.=0%-1
Grüße
bastla
Bitte warten ..
Mitglied: Skyemugen
10.03.2011 um 08:54 Uhr
Und die Moral von der Geschicht': „Ungetestete Skripte poste nicht ach nein, macht der bastla ja auch immer *gg* dann muss es anders heißen verweigere dich der VBS-Lösung nicht *^__^*” oder so ;)

Aber ich möchte wirklich nicht wissen, was bei Tagen in dieser Form alles zu beachten wäre *gg*

greetz André
Bitte warten ..
Mitglied: Ralph4
10.03.2011 um 09:31 Uhr
So habe das Skript nochmal Überarbeitet und diesmal auch getestet
Hoffe ich habe alle Eventualitäten berücksichtigt.
01.
@echo off & setlocal 
02.
set currentMONTH=%date:~4,1% 
03.
set helpObject=%date:~3,1% 
04.
set currentYear=%date:~6,4% 
05.
 
06.
if %helpObject% == 1 (set /a "MONTH = %currentMONTH%+9") Else (set /a "MONTH = %currentMONTH%-1") 
07.
 
08.
set /a "lastYear=%currentYear%-1" 
09.
 
10.
 
11.
if %Month% == 0 (set myString=12_%lastYear%) Else (set mystring=%MONTH%_%currentYear%) 
12.
 
13.
echo %mystring% 
14.
pause
Hoffe diesesmal auch schön genug *lach

Gruß Ralph
Bitte warten ..
Mitglied: bastla
10.03.2011, aktualisiert 18.10.2012
@Skyemugen
Aber ich möchte wirklich nicht wissen, was bei Tagen in dieser Form alles zu beachten wäre *gg*
Ich hätte Dich für neugieriger gehalten ...

Nur für den Fall des Falles: http://www.administrator.de/forum/morgiges-datum-in-batchdatei-bestimme ...

Grüße
bastla

P.S.:
Ungetestete Skripte poste nicht ach nein, macht der bastla ja auch immer *gg*
Nicht immer, aber immer öfter ...
Bitte warten ..
Mitglied: 60730
10.03.2011 um 22:04 Uhr
Salü,
Zitat von Ralph4:
hallo an die lieben Mitwirkenden.

ich finde es super wie hier auf Anfragen reagiert wir. (wenn alles vorbei ist zerupfen wir mal das was geschrieben wurde).
  • It ain't over till the fat lady sings.... - bedeutet hier zu ~85%, erst wenn einer der beiden Bs aus dem B Bereich ins Horn gebtutet hat, fällt der Vorhang


Warum sollte man sich auch auf das helfen(in welcher Form auch immer) beschränken wenn das lästern doch so schön ist.
  • Was noch schöner ist - oberflächlich einen Bock in einem Skript erkannt zu haben und mindestens 3 weitere im Schnellschussverfahren aus der Hüfte zu hinterlassen
Den Schuh zieh ich mir an und ich hab den auch noch nicht edifiziert, weil man auch mal zu seinen Fehlern stehen kann

Dass dieses Script nicht das schönste ist mal dahingestellt, es tut und wie ich der Antwort entnehme hat es der betreffenden Person so geholfen.
  • "Ebbe net - siehe der Kommentar von einem der beiden Besagten Bs aus dem B Bereich
Da ich jetzt aber die Reaktion darauf sehe, ärgere ich mich, dass ich dachte dies ist eine etwas andere Platform als die üblichen.
  • Wie gesagt, die Party ist erst zuende, wenn die das Skript sich die Zeile @echo off auch verdient hat
Ob dieses nun am Bande, 1. Klasse oder mit Stern und Schulterband ist - vollkommen Jacke wie Hose.

Ach übrigens mit dieser Art überlegt sich jeder zweimal ob er auf eine Frage antwortet.
Sollte das die eigentliche Intension sein, kann ich nur sagen Ziel erreicht.
Nimms sportlich - in meiner Jugend galt der Spruch, Erst gurten, dann spurtenstarten“ heute gilt "erst denken, dann lenken"

Einen schönen Abend noch.
Dito und nur eine Zeile sei mir noch erlaubt..
  • Jeder der hier versteht, dass er/Sie durch Mithilfe selber lernt - ist immer willkommen.

Gruß
Bitte warten ..
Mitglied: Biber
10.03.2011 um 22:15 Uhr
[OT] @T-Mo
Zitat von 60730:
Nimms sportlich - in meiner Jugend galt der Spruch, Erst gurten, dann spurtenstarten“
In deiner Jugend?? Gab es schon Gurte??? Bei Ben Hur????
*duck und wech*
[/OT]
Bitte warten ..
Mitglied: 60730
11.03.2011 um 09:18 Uhr

[OT]
Zitat von Biber:
In deiner Jugend?? Gab es schon Gurte??? Bei Ben Hur????
*duck und wech*

yupp, und wenn die benutzt werden, hört sich das so an
[/OT]

Gruß
Bitte warten ..
Mitglied: cali169
11.03.2011 um 11:22 Uhr
vielen dank @ ralph u @ all

das script läuft jetzt sauber auch in den monaten 8 u 9 sowie beim jahreswechsel. tage benötige ich nicht in der ausgabe.

so nun noch etwas allgmeines.

ich finde es gut das einem geholfen wird, klar wer nicht. auch das es korrekturen gibt etc. gibt.

aber bei allem sollte doch immer daran gedacht werden, das der ton die musik macht. u man muss nun wirklich nicht abtrifften in nicklichkeiten. denke auch pervers ist hier net angebracht.

ich denke es sollte hier lösungsorientiert zugehen. wenn man schreibt das ein vbs besser ist hat man ja seine meinung kund getan und es wird verstanden.!

in diesem sinne allen einen schönen tag.

Mit freundlichen Grüßen
Bitte warten ..
Mitglied: Nollosch
26.01.2012 um 15:20 Uhr
Hallo liebe Script-Freunde

Sollte es Jemanden interessieren ...

Ich habe aus den hier vorliegenden Informationen ein Backupscript gefrickelt. Gilt für alle seit Datum x getouchten Dateien, bzw allen, wenn es noch kein Backup gibt. Ich habe dazu das Datum um 1 Monat zurück gedreht, Backup wird aber per Geplanten Task einmal die Woche des nachtens aufgerufen und auf einen WinXP-Rechner im Netwerk abgelegt.

01.
@echo off & setlocal 
02.
title Sicherung l„uft ... 
03.
 
04.
set "G=%temp%\monthago.vbs" 
05.
 
06.
REM Temporäres VBScript für die Datumsberechnung wird erzeugt. In diesem Falle wird der Monat um einen nach hinten geschoben (,-1,Date). 
07.
 
08.
>%G% echo wscript.echo DateAdd("m",-1,Date) 
09.
for /f %%i in ('cscript //nologo %G%') do set "monthago=%%i" 
10.
del %G% 
11.
 
12.
set "Datum=%monthago:~-7,2%-%monthago:~-4%"  
13.
 
14.
REM Dies dient dem Anpassen der Datumsausgabe, da sie als Variable für xcopy benötigt wird in mm-dd-yy 
15.
 
16.
FOR /F "tokens=1,2,3 delims=/. " %%a in ('date /t') do set FDATE=%%a 
17.
set cdate=%datum:~5,7% 
18.
set ddate=%datum:~0,2% 
19.
 
20.
REM Jetzt folgt der eigentliche Backup-Vorgang - Zugriff auf Ziel sollte bestehen, ich habe an dieser stelle noch ein *net use Zielsystem /user:* hinter dem ping gesetzt. 
21.
 
22.
ping -n 2 -w 20 BackupComputer >nul || goto :exit 
23.
 
24.
if exist \\Zielpfad\Verzeichnis goto :Teilsicherung 
25.
if not exist \\Zielpfad\Verzeichnis goto :Vollsicherung 
26.
 
27.
:Vollsicherung 
28.
xcopy C:\Test \\Zielpfad\Verzeichnis /y /k /r /i /q 
29.
goto :exit 
30.
 
31.
:Teilsicherung 
32.
xcopy C:\Test \\Zielpfad\Verzeichnis /y /k /r /i /q /d:%ddate%-%FDATE%-%cdate%   
33.
 
34.
:exit 
35.
 
Das spart Traffic, schont die Platte und geht schneller, es sei denn, es handelt sich um Dateien die andauernd alle angefasst werden und somit stehts aktuell sind.
Für Optimierungen bin ich immer zu haben.

Script läuft bei mir sehr gut, einzig eine abgebrochene Vollsicherung wird nicht erkannt. Ich schreibe nochmal um auf eine Fertigstellungs.log die es nur gibt, wenn Vollsicherung komplett durchgelaufen ist.


Wie gesagt, für Verbesserungen bin ich gern zu haben.


Gruß an Alle
Bitte warten ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch ausgabe zeilenweise stat spaltenweise ausgeben (4)

Frage von sugram zum Thema Batch & Shell ...

Batch & Shell
gelöst Dateinamen umschreiben batch (5)

Frage von jocheng zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

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

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...