Batch Programmierung

  • #1
G

Gandalf_the_Grey

Bekanntes Mitglied
Themenersteller
Dabei seit
19.11.2003
Beiträge
2.768
Reaktionspunkte
0
Ort
Großraum Frankfurt/Main
Hallo alle miteinander,

ich habe mal wieder ein Problem. Ich bin ziemlich eingerostet was die Batch Programmierung angeht und finde zur Zeit leider keine Referenzen dafür. Kann mir jemand sagen wo ich diese im Netz finde oder kann mir vieleicht jemand auf die Sprünge helfen?

Meine Problemstellung ist folgende. Ich würde gerne IN einem Login Script folgenden Parameter ausführen:

\\Rrempirum\Configurator\User\setup.exe \\Rr-pass-fs1\Gast\Zeit Update\1.0\Install\setup.inf

aber nur dann WENN:

a) Der Rechner mit NT, 2000 oder XP ausgestattet ist bzw.
b) Der Rechner NICHT mit Windows 9X oder ME ausgestattet ist
c) Ein Verzeichniss bzw. eine Datei in einem festgelegten Verzeichniss NICHT vorhanden ist. (%CommonProgramFiles%/Pfad des Programms/setup.inf)

Wie gesagt ich bin ziemlich eingerostet was IF Anweisungen und das ganze Regelwerk drum herum angeht. Wenn jemand Referenzen hat oder mir helfen kann wäre das echt klasse!
 
  • #2
Nutze die Umgebungsvariable OS. Die liefert Dir für alle NT basierenden Windowsversionen Windows_NT zurück.
Zu IF Abfragen Folgendes:
Code:
echo off
if %OS%==Windows_NT goto windows_nt
echo Kein Windows NT
goto ende

:windows_nt
echo Windows NT

:ende
Ob Dateien oder Verzeichnisse vorhanden sind, fragst Du wie folgt ab:
Code:
if exist %ZIELLAUFWERK%\%ZIELVERZEICHNIS1%\nul goto ordner_existiert
Überprüfst Du auf eine bestimmte Datei, ersetzt Du nul durch den Dateinamen.

Eddie
 
  • #3
*andenkopfklatsch* okay ich bin wirklich eingrostet. Darauf hätte ich auch selbst kommen können! Dank dir Eddie
 
  • #4
Das Problem ist jetzt nur, das W9x und ME-Systeme mit der IF-Anweisung im Login-Skript nix anfangen können - die Systemvariable %OS% gibts nämlich auf diesen Systemen nicht.....

Cheers,
Joshua
 
  • #5
Joshua schrieb:
Das Problem ist jetzt nur, das W9x und ME-Systeme mit der IF-Anweisung im Login-Skript nix anfangen können - die Systemvariable %OS% gibts nämlich auf diesen Systemen nicht.....

Cheers,
Joshua
Und? Dann ist die IF Abfrage nie erfüllt und es wird immer Kein Windows NT ausgegeben.
Da hier keine Errorlevel übergeben und überprüft werden, spielt das keine Rolle.

Eddie
 
  • #6
Ähm ich habe hier ein kleines Problem! Die If Anweisung wird vollkommen ignoriert vom Betriebssystem, woran kann das liegen?

Hier der Code meiner Batch Datei.

Code:
:windows_nt
echo Betriebssystem ist Windows NT, 2000 oder XP
if exist D:\Programme\Gemeinsame Dateien\ZeitUpdate\1.0\Install\setup.inf goto ordner_existiert
echo Datei nicht gefunden!
goto ordner_existiert_nicht


:ordner_existiert_nicht
echo Beginne Installation!
\\Rrempirum\Configurator\User\setup.exe C:\ZeitUpdate\1.0\Install\setup.inf
echo Installation beendet.
goto ende


:ordner_existiert
echo Ordner existiert bereits, breche installation ab!
goto ende

:ende
 
  • #7
Hat sich erledigt, habe die vergessen in diese Anweisung einzufügen:

Code:
if exist D:\Programme\Gemeinsame Dateien\ZeitUpdate\1.0\Install\setup.inf goto ordner_existiert

es müsste so aussehen:

Code:
if exist D:\Programme\Gemeinsame Dateien\ZeitUpdate\1.0\Install\setup.inf goto ordner_existiert
 
Thema:

Batch Programmierung

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben