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

Batch läuft nicht mehr richtig unter Win XP

Frage Entwicklung Batch & Shell

Mitglied: nakoda

nakoda (Level 1) - Jetzt verbinden

19.11.2007, aktualisiert 20.11.2007, 3989 Aufrufe, 7 Kommentare

Hallo zusammen,

bin hier neu und hätte mal ne Frage.
Ich habe bisher mit W2k gearbeitet.
Hierunter hatte ich eine Batchdatei laufen mit der ich einen Datenbankdump gemacht und diesen dann
gezippt habe.
Hier mal ein Beispiel:
@ECHO OFF
CLS
::----------------------------
:: Name: burpMP.bat
:: Autor: AG
:: Datum: 12. September 2006
::----------------------------
FOR /F "tokens=1,2,3,4 delims=/-. " %%a in ('date/T') do set CDATE=%%b%time:~0,2%%time:~3,2%A%%c%%d
ECHO *
ECHO Die Sicherung der Datenbank beginnt..........
ECHO *
ECHO.
exp rplan/rplan@rpmechp TABLES=(AD_MECH_BM) FILE=D:\burp\table_ad_mech_bm_test.dmp
REN D:\burp\*.dmp table_ad_mech_bm_test_%cdate%.dmp
wzzip d:\burp\table_ad_mech_bm_test_%cdate%.zip d:\burp\*.dmp
DEL D:\burp\*.dmp
EXIT


Das hatte zur Folge das hinten eine Datei mit folgendem Format rausgefallen ist: burp_231800A102007.zip
Nun haben aber einige Änderungen stattgefunden und zwar in der Forma das WinXP als OS und IZarc als Komprimierungs-
programm benutzt wird.
Daher habe ich logischerweise den Batchlauf anpassen müssen:
@ECHO OFF
CLS
::----------------------------
:: Name: burpmp.bat
:: Autor: AG
:: Datum: 12. September 2006
::----------------------------
FOR /F "tokens=1,2,3,4 delims=/-. " %%a in ('date/T') do set CDATE=%%b%time:~0,2%%time:~3,2%A%%c%%d
ECHO *
ECHO Die Sicherung der RPlan AIM Datenbank beginnt..........
ECHO
*
ECHO.
exp RPLAN/RBQisOqrPL@rpmechp FILE=D:\burp\burp.dmp
c:\Programme\izarc\izarcc D:\BURP\burp_%cdate%.zip D:\BURP\*.dmp
DEL D:\burp\*.dmp
EXIT

Nur was jetzt rauskommt, nämlich burp_111110A2007.zip entspricht nicht mehr dem ursprünglichen.
Hat jemand von Euch ne Idee was noch zu ändern ist.
Wenn noch FRagen auftreten sollten beantworte ich diese gerne.
Dank im voraus.

Gruß

Armin
Mitglied: bastla
19.11.2007 um 12:50 Uhr
Hallo nakoda und willkommen im Forum!

Der Unterschied liegt im Ergebnis des "date /t", da in XP der Wochentag nicht mit ausgegeben wird. Aus diesem Grund habe ich mir angewöhnt, das Datum von hinten aufzulösen (und dazu %date% zu verwenden):
01.
set Jahr=%date:~-4% 
02.
set Monat=%date:~-7,2% 
03.
set Tag=%date:~-10,2%
Damit funktioniert's dann sowohl in 2000 als auch in XP.

Grüße
bastla
Bitte warten ..
Mitglied: nakoda
19.11.2007 um 13:01 Uhr
Moin bastla,

danke für die fixe Antwort.
Kann ich mir so auch wieder den Dateiname zusammensetzen wie vorher?
Wie hole ich mir denn die Uhrzeit?
Die brauch ichg nämlich auch noch.
Das ganze sieht dann wie folgt aus [dd][hhmm][Timezone][Monat drei Bchstb. oder Zahl][yy]

Gruß

nakoda
Bitte warten ..
Mitglied: bastla
19.11.2007 um 14:06 Uhr
Hallo nakoda!

Sollte so gehen (wobei Du in Deinem Beispiel das Jahr vierstellig hattest - für zweistellig am Ende -2% statt -4%):
01.
set CDATE=%date:~-10,2%%time:~0,2%%time:~3,2%A%date:~-7,2%%date:~-4%
Wie hole ich mir denn die Uhrzeit?
Hattest Du auch oben schon: %time% und dann entsprechend zerlegen - siehe "set /?").

Grüße
bastla
Bitte warten ..
Mitglied: nakoda
19.11.2007 um 14:22 Uhr
Hi bastla,

prima Sache das. Läuft super.
Dankeschön.
Eine Sache hätte ich da noch, kann man sich vom Monat auch als wort holen und davon nur die Ersten drei Buchstaben (Jan, Feb, usw,....)?
Dann bräucht man gar nicht mehr von Hand beigehen. ^^
Bitte warten ..
Mitglied: Biber
19.11.2007 um 15:33 Uhr
Moin nakoda,

wenn Du alle schmutzigen Details wissen möchtest, schau Dir bitte das "BatchTut III- Datums- und Zeitvariablen im Batch" im Bereich "Batch & Shell" an.

Wenn Du nur eine schnelle Lösong brauchst / Du zeitig essen willst:

01.
... 
02.
::in Deinem Batch 
03.
.... 
04.
set Monat=%date:~-7,2% 
05.
.... 
06.
 
07.
echo wscript.echo left(monthname(wscript.arguments(0)),3)>%temp%wotag3.vbs 
08.
For /f %%i in ('cscript //nologo %temp%wotag3.vbs %Monat%') do set MonatC3=%%i 
09.
:: jetzt steht in %MonatC3%: "Jan" oder "Nov"-->Monat 3stellig.
Grüße
Biber
[Edit] @bastla: Und wer war diesmal der Rechtsüberholer?
Ich musste ja auch nur halb so viele Zeilen schreiben... [/Edit]
Bitte warten ..
Mitglied: bastla
19.11.2007 um 15:38 Uhr
Hallo nakoda!

Ein wenig (einmalige) Handarbeit habe ich noch Dir übrig gelassen:
01.
set M=%date:~-7,2% 
02.
set MName= 
03.
if %M%==01 set MName=Jan 
04.
... 
05.
if %M%==12 set MName=Dez 
06.
if not defined MName echo Monatsermittlung fehlerhaft & goto :eof 
07.
set CDATE=%date:~-10,2%%time:~0,2%%time:~3,2%A%MName%%date:~-4%
Die Überprüfung mit "if defined" sollte eigentlich nicht nötig sein, aber schaden tut's auch nicht.

Grüße
bastla

[Edit] @Biber: Und wer war diesmal der Rechtsüberholer? [/Edit]
Bitte warten ..
Mitglied: nakoda
20.11.2007 um 08:40 Uhr
Also Jungs/Mädels! :o)
Ich bin begeistert.
Klappt alles prima hätte hier schon viel eher mal reinschauen sollen.
Die "schmutzigen" Details werde ich mir dann zu einem späteren Zeitpunkt mal geben.
Hab beides probiert. Bin abr dann bei der längeren Version vom bastla geblieben.
Vielen Dank Euch und noch einen schönen Tag.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...

Windows Server
Suche passender Treiber (12)

Frage von stolli zum Thema Windows Server ...