Top-Themen

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

Systemvariable mit vbs-Script setzen

Mitglied: goodbytes

goodbytes (Level 2) - Jetzt verbinden

14.01.2008, aktualisiert 18.10.2012, 7604 Aufrufe, 7 Kommentare

Hallo,
ich benötige für eine Batch-Datei immer das exakte Datum des Vortages. Da ich in einer Batch nicht wirklich mit Datumswerten rechnen kann bin ich für diesen Zweck auf eine vbs ausgewichen.
Nach dem Ermitteln des Vortage habe ich das Ergebnis in der Variable "strYest":
strYest = "" & strYear & strMonth & strDay & ".
Nun möchte ich den Inhalt dieser Variable aber in eine Systemvariable übergeben. Aus dieser vbs-Datei heraus rufe ich dann die Batch auf und möchte diese Variable darin nutzen.
Wie kann ich diese Variable setzen?

Torsten
Mitglied: bastla
14.01.2008 um 13:31 Uhr
Hallo TorstenB!

Falls es keinen besonderen Grund dafür gibt, über VBS zu starten, würde ich es umgekehrt machen: Aus der Batchdatei das VBScript über "cscript" aufrufen (und, so kurz wie es ist, auch gleich erstellen - so kann ich sicher sein, dass es da ist) und dann mit dem Ergebnis weiterarbeiten, zB:
01.
@echo off & setlocal 
02.
set "gTemp=%Temp%\Gestern.vbs" 
03.
echo g=DateAdd("d",-1,Date):WScript.Echo Right(g,4)^&Mid(g,4,2)^&Left(g,2)>%gTemp% 
04.
for /f %%i in ('cscript //nologo %gTemp%') do set G=%%i 
05.
echo %G%
Grüße
bastla
Bitte warten ..
Mitglied: bastla
14.01.2008 um 13:48 Uhr
... aber, um doch auch die gestellte Frage zu beantworten: Du kannst Dein Datum dem Batch einfach beim Aufruf als Parameter mitgeben, zB
01.
objShell.Run "C:\Scripts\MeinBatch.cmd " & strYest
In der Batchdatei kannst du dann mit %1 auf den Parameter zugreifen:
01.
@echo off & setlocal 
02.
set G=%1 
03.
if defined G (echo Gestern: %G%) else echo Kein Datum angegeben!
Den Vorteil der oben beschriebenen Methode sehe ich, wie erwähnt, darin, dass ich nur eine Datei "verwalten" muss.

Grüße
bastla
Bitte warten ..
Mitglied: goodbytes
14.01.2008 um 14:34 Uhr
Hallo Basta,
stimmt, dein erster Vorschlag wäre die bessere Lösung.
Ich werd`s nachher mal ausprobieren und geb auf jeden Fall Bescheid.

Vielen Dank erstmal !!!

Torsten
Bitte warten ..
Mitglied: goodbytes
14.01.2008 um 15:27 Uhr
Hallo Bastla,
hab die erste Variante probiert, klappt prima !!!
Ist je eine clevere Idee eine temporäre vbs-Datei zu erzeugen und die Geschichte darin abzuarbeiten! So benötige ich nur die eine Batch-Datei.

Vielen Dank nochmal !!!

Torsten
Bitte warten ..
Mitglied: stbewo
14.01.2008 um 15:46 Uhr
Hallo Bastla,

finde ich auch, dass dies eine geschickte Umsetzung der Datumshandhabung ist. Der Vorteil ist, dass man auch über den 1. eines Monats zurück das Datum erhält (z.B 1.1.08 - 5Tage). In einem Batch nicht zu programmieren oder nur mit sehr großem Aufwand.

Gruß
Stefan
Bitte warten ..
Mitglied: bastla
14.01.2008, aktualisiert 18.10.2012
Ist je eine clevere Idee eine temporäre vbs-Datei zu erzeugen und die Geschichte darin abzuarbeiten!

finde ich auch, dass dies eine geschickte Umsetzung der Datumshandhabung ist
Dem kann ich mich nur anschließen und die Lorbeeren gleich weiterreichen - ist nämlich nicht auf meinem Mist gewachsen, sondern die Idee ist aus einem von Bibers äußerst empfehlenswerten Tutorials geborgt (siehe Workshop Batch for Runaways Part III Datums- und Zeitvariablen im Batch).

In einem Batch nicht zu programmieren oder nur mit sehr großem Aufwand.
Ich würde sagen: Letzteres - aber wer will das schon ...

Grüße
bastla
Bitte warten ..
Mitglied: goodbytes
16.01.2008 um 13:01 Uhr
Hallo Bastla,
naja, man muss es halt nur finden...
Der genannte Workshop von Biber ist wirklich lesenswert.
Danke für den Tipp !!!

Torsten
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Systemvariable funktioniert im Script nicht

Frage von miczarBatch & Shell4 Kommentare

Guten Morgen zusammen, ich habe hier mehrere PCs mit Windows 7 System auf dem ich ein Script laufen habe. ...

Windows 7

Systemvariable in Abhängigkeit des OS setzen (32 - 64 Bit)

gelöst Frage von killtecWindows 77 Kommentare

Hallo zusammen, ist es möglich eine Systemvariable im Abhängigkeit des Betriebssystems, bzw der Architektur um genau zu sein, zu ...

Batch & Shell

Per script kennwort setzen?

Frage von LinuxguruBatch & Shell3 Kommentare

Hi allerseits! Ich möchte zu gegebenem Zeitpunkt via script das Kennwort des Benutzers "gast" via script verändern. Geht das ...

Windows Server

Besitzer über ICALCS-Script setzen

gelöst Frage von Winfried-HHWindows Server7 Kommentare

Hallo in die Runde, Hier ging es darum, in einem Script die Ordnerberechtigungen hinzuzufügen, wobei der Ordnername dem Benutzernamen ...

Neue Wissensbeiträge
Peripheriegeräte
Unterschrank für HP Drucker
Tipp von NixVerstehen vor 3 TagenPeripheriegeräte3 Kommentare

Als kurzen Freitags-Tipp möchte ich gerne meinen neuen Drucker-Unterschrank Modell Amica KS 15423W vorstellen. Das Gerät eignet sich hervorragend ...

Windows 10
Windows 10 - Probleme mit Point-And-Print
Tipp von emeriks vor 4 TagenWindows 103 Kommentare

Hi, wir kämpfen z.Z. mit einigen Druckertreibern, welche unter Win10 beim Verbinden eines Druckers von Printserver mit dem Dialog ...

Windows 10

Windows 10 1803 - Ihr Roamingbenutzerprofil wurde nicht vollständig synchronisiert

Anleitung von Deepsys vor 4 TagenWindows 101 Kommentar

Bei allen Windows 10 1803 PCs traten Probleme mit den Servergespeicherten Profilen auf. Das Abmelden dauerte sehr lange und ...

Exchange Server
Exchange - Fehler mit 2018-07 Sicherheitsupdate
Tipp von ArnoNymous vor 6 TagenExchange Server7 Kommentare

Hallo, es gibt mal wieder Freude mit den MS-Updates. KB4338814 führt dazu, dass der Exchange keine Mails mehr zustellt. ...

Heiß diskutierte Inhalte
Server-Hardware
DL380p Gen8 LEDs Laufwerksaktivität funktionieren nicht
gelöst Frage von Cisco7971Server-Hardware31 Kommentare

Hallo zusammen, ich habe hier ein seltsames Problem: Die LEDs an den Smart Carriern, die bei Laufwerksaktivität rotieren, tun ...

Windows Server
Leistungsindikatoren WS2012R2
Frage von Der.ITlerWindows Server20 Kommentare

Hallo Gemeinde, seit gestern habe ich auf zwei von meinem 8 Hardwareservern folgendes Problem, dass die Leistungsindikatoren nicht gestartet ...

VB for Applications
VBA - Vergleich eine Zelle mit einem Bereich
gelöst Frage von SilvanaSabauVB for Applications19 Kommentare

Hallo zusammen, ich hoffe es gibt jemanden der mir helfen kann !! das folgende Beispiel entspricht zwar nicht mein ...

Server-Hardware
Einsteigerfragen zu HP ProLiant DL380p Gen 8
gelöst Frage von brain2011Server-Hardware15 Kommentare

Hallo, ich habe mir einen HP ProLiant DL380p Gen 8 zugelegt, um mich grundlegend mit dieser Geräteklasse und der ...