WinFuture-Forum.de: Batchdatei - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Batchdatei Aktuelle Zeit - 1 Stunde


#1 Mitglied ist offline   Campy 

  • Gruppe: aktive Mitglieder
  • Beiträge: 696
  • Beigetreten: 24. Januar 04
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 15. Januar 2008 - 14:50

Hallo Leute,

ich brauche dringend Eure Hilfe.
Es geht darum, dass ich in einer Batchdatei eine Variable brauche, in der die aktuelle Zeit-1h gespeichert ist. Sprich wenn es grade 14:23 ist dann soll in der Variable 13:23 stehen.

Danke schon einmal für Eure Hilfe!

MFG Campy
0

Anzeige



#2 Mitglied ist offline   tobias86 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.690
  • Beigetreten: 14. August 06
  • Reputation: 6
  • Geschlecht:Männlich
  • Wohnort:localhost

geschrieben 15. Januar 2008 - 15:10

Schau dich hier mal um

administrator.de

dort werden der Umgang mit Datums und Zeitvariablen beschrieben.

so long
0

#3 Mitglied ist offline   bLaCkRaBbIt 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.433
  • Beigetreten: 08. November 04
  • Reputation: 2
  • Geschlecht:Männlich
  • Wohnort:Karlsbad

geschrieben 18. Januar 2008 - 00:26

ehrlich gesagt glaube ich nicht,dass das geht
0

#4 Mitglied ist offline   ph030 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.130
  • Beigetreten: 14. Juli 04
  • Reputation: 36
  • Geschlecht:unbekannt

geschrieben 18. Januar 2008 - 01:51

Warum sollte das nicht gehen? Im Notfall, wenn's dafür nicht direkt eine Option gibt, splittet man den String halt in einzelne Variablen für HH MM SS, wandelt HH in einen Integer, zieht 1 ab und baut's wieder zusammen...

Bei *nix wäre das natürlich wieder einfach, nämlich per
date -d "-1 hour"
;)

Alternativ, wenn's gar nicht anders geht, könnte man die gewünschte Zeit natürlich auch von irgendeinem Server in der entsprechenden Zeitzone holen.

Dieser Beitrag wurde von ph030 bearbeitet: 18. Januar 2008 - 01:52

0

#5 Mitglied ist offline   sкavєи 

  • Gruppe: aktive Mitglieder
  • Beiträge: 6.735
  • Beigetreten: 20. Juli 04
  • Reputation: 62
  • Geschlecht:Männlich
  • Wohnort:Stralsund

geschrieben 18. Januar 2008 - 07:18

Such doch mal nach "Unix Utils". Da sollte eine date.exe bei sein. Die verhält sich ziemlich genauso wie der date Befehl unter Linux. Dort wäre also die anmerkung von ph030 anwendbar. Das wäre meiner Meinung nach auch das einfachste. Funktioniert natürlich nur dann, wenn du nichts dagegen hast auf externe ausführbare Dateien zuzugreifen (manchmal ist das halt unvorteilhaft, z.B. wenn man das Script verteilen möchte, dann müsste man die entsprechende .exe immer mitliefern).
Eingefügtes Bild
Eingefügtes Bild
0

#6 Mitglied ist offline   bartii 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.428
  • Beigetreten: 02. August 05
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 18. Januar 2008 - 08:33

Beitrag anzeigenZitat (sкavєи: 18.01.2008, 07:18)

(manchmal ist das halt unvorteilhaft, z.B. wenn man das Script verteilen möchte, dann müsste man die entsprechende .exe immer mitliefern).

Ja du hast zwar Recht, allerdings handelt es sich um xx KB.
Aber einige würde so etwas stören, z.B. mich ;)
Software is like sex. It is better when it's free.. (Linus Torvalds)
0

#7 Mitglied ist offline   bLaCkRaBbIt 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.433
  • Beigetreten: 08. November 04
  • Reputation: 2
  • Geschlecht:Männlich
  • Wohnort:Karlsbad

geschrieben 18. Januar 2008 - 11:41

wenn man ne exe mitliefern muss,kann man gleich ein richtiges programm schreiben

Dieser Beitrag wurde von bLaCkRaBbIt bearbeitet: 18. Januar 2008 - 11:51

0

#8 Mitglied ist offline   bartii 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.428
  • Beigetreten: 02. August 05
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 18. Januar 2008 - 12:46

Richtig, was aber widerum Zeit kostet.
Software is like sex. It is better when it's free.. (Linus Torvalds)
0

#9 Mitglied ist offline   bLaCkRaBbIt 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.433
  • Beigetreten: 08. November 04
  • Reputation: 2
  • Geschlecht:Männlich
  • Wohnort:Karlsbad

geschrieben 18. Januar 2008 - 15:39

schneller, als per batch bzw. noch mit zusatz-exe
0

#10 Mitglied ist offline   bartii 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.428
  • Beigetreten: 02. August 05
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 18. Januar 2008 - 20:48

Du musst doch nur in eine Txt-Datei nen Befehl setzen, aber ich kenn mich nicht mir Programmierung aus. Mag sein das du Recht hast.
Software is like sex. It is better when it's free.. (Linus Torvalds)
0

#11 Mitglied ist offline   bLaCkRaBbIt 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.433
  • Beigetreten: 08. November 04
  • Reputation: 2
  • Geschlecht:Männlich
  • Wohnort:Karlsbad

geschrieben 18. Januar 2008 - 23:00

ist schon lange her,dass ich batch files geschrieben hab und bin nicht mehr so in der übung,aber anpingen, ping antwort empfangen, auswerten und anhand der auswertung das netzlaufwerk verknüpfen hört sich für mich schon aufwendig an. hier der quelltext für eine consolenanwendung:

Imports System.Net.NetworkInformation

Module Module1
	Sub Main()
		If (New Ping).Send("server1").RoundtripTime > (New Ping).Send("server2").RoundtripTime Then
			Shell("hier den net use befehl für server1", AppWinStyle.Hide, True)
		Else
			Shell("hier den net use befehl für server2", AppWinStyle.Hide, True)
		End If
	End Sub
End Module


falls du kein visual studio hast oder dich mit vb.net nicht auskennst, dann gib mir die adresse von server1,server2 und den net use befehl für server1 und server2, dann kompilier ich dir das.
0

#12 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 19. Januar 2008 - 12:35

Hi,

also so was in Batch zu machen ist kein Problem.

@echo OFF
set STUNDEN=%time:~0,2%
set MINUTEN=%time:~3,2%
set /a STUNDEN=%STUNDEN%-1
set ZEIT=%STUNDEN%:%MINUTEN%

echo %ZEIT%


In der Variable %time% ist immer die aktuelle Zeit. Die ersten beiden set-Befehle zerlgen die Uhrzeit in Stunden und Minuten. Mit set /a kann man mit den Variablen rechnen und das letzte set schreibt die Uhrzeit - 1 Stunde in die Variable Zeit.

Gruß,
Stefan
0

#13 Mitglied ist offline   bLaCkRaBbIt 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.433
  • Beigetreten: 08. November 04
  • Reputation: 2
  • Geschlecht:Männlich
  • Wohnort:Karlsbad

geschrieben 19. Januar 2008 - 13:41

sorry, letzter eintrag war nicht für diesen thread.

Dieser Beitrag wurde von bLaCkRaBbIt bearbeitet: 19. Januar 2008 - 13:44

0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0