If befehle in einer Batch die andere Batch Dateien kontrollieren soll!
Brauch mal wieder Hilfe
Hallo,
Ich habe drei Batch Dateien. 2 werden in der ersten mit aufgerufen. Es geht um installation von Programmen und Drucker wechsel zweier Server.
Also die Batch Dateien funktionieren soweit und Logs werden im jeweiligen Ordner auch erstellt.
Jetzt möchte ich aber nicht das jedesmal wenn der User sich anmeldet das er diese installationen vornimmt. Ausser die Netzlaufwerke.
Das erreiche ich ja wenn ich mit einem If Satz abfrage ob jeweilige Logs vorhanden sind. Und wenn Logs vorhanden sind wird er die Installationen und Druckserver wechsel nicht durchführen außer die Logs sind weg dann Installiert und verschiiebt er wieder!
Habe hier schon etwas geschrieben und möchte das Ihr mir sagen könnt ob es soweit gut aussieht oder was man anders machen kann. Bin noch ein neuling auf dem Gebiet Scripting und Ich finde nichts wirklich helfendes im Netz.
Habe es an einem Testsystem probiert klappt aber noch nicht ganz. Freue mich wenn jemand was darüber weiß!
Also die eigentliche Bat sieht dann bei mir so aus:
Bedanke mich im voraus schon mal für eure Antworten!!!!!!!!! ^^
Euer Simsa
Hallo,
Ich habe drei Batch Dateien. 2 werden in der ersten mit aufgerufen. Es geht um installation von Programmen und Drucker wechsel zweier Server.
Also die Batch Dateien funktionieren soweit und Logs werden im jeweiligen Ordner auch erstellt.
Jetzt möchte ich aber nicht das jedesmal wenn der User sich anmeldet das er diese installationen vornimmt. Ausser die Netzlaufwerke.
Das erreiche ich ja wenn ich mit einem If Satz abfrage ob jeweilige Logs vorhanden sind. Und wenn Logs vorhanden sind wird er die Installationen und Druckserver wechsel nicht durchführen außer die Logs sind weg dann Installiert und verschiiebt er wieder!
Habe hier schon etwas geschrieben und möchte das Ihr mir sagen könnt ob es soweit gut aussieht oder was man anders machen kann. Bin noch ein neuling auf dem Gebiet Scripting und Ich finde nichts wirklich helfendes im Netz.
Habe es an einem Testsystem probiert klappt aber noch nicht ganz. Freue mich wenn jemand was darüber weiß!
Also die eigentliche Bat sieht dann bei mir so aus:
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@Echo on
Cls
REM *****Echo.
REM *****Echo Guten Tag %Username%
REM *****Echo Ihr Computer heisst %Computername%
REM *****Echo Sie melden sich am %Logonserver% an
REM *****Echo Ihre Domäne heisst %UserDomain%
REM *****Echo Einen Moment bitte, Ihre Netzlaufwerke werden jetzt verbunden
pushd \\Server\Ordner
logonSkript.vbs
If exist \\Server\Ordner\Printserver.log
goto Vorhanden
:Vorhanden
@echo off ist Vorhanden
goto end
If not exist \\Server\Ordner\Printserver.log
goto Error
:Error
@echo off Error
goto \\Bat1
If exist \\Server\Ordner\Apfel.log
goto Vorhanden
:Vorhanden
@echo off ist Vorhanden
goto end
If not exist \\Server\Ordner\Apfel.log
goto Error
:Error
@echo off Error
goto \\Bat2
pushd \\Server\Printserver
call Printserver.bat
pushd \\Server\Apfel
call Apfel.bat
popd
End
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Bedanke mich im voraus schon mal für eure Antworten!!!!!!!!! ^^
Euer Simsa
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 02.11.2011 um 18:57:32 Uhr
Verschoben von "ööhmmm ...Windows??" nach "Batch & Shell"
Content-ID: 175645
Url: https://administrator.de/contentid/175645
Ausgedruckt am: 22.11.2024 um 16:11 Uhr
9 Kommentare
Neuester Kommentar
Aloha,
bevor wir hier die Augenkrise bekommen, möchte ich dich doch bitten, unsere ##blue|##-Formatierung einzusetzen (geht auch nachträglich beim Bearbeiten) ...
Ebenso möchte ich dich darauf hinweisen, dass solche Anordnungen wie
a) fehlerhaft sind und
b)
Mehr ins Detail gehe ich jetzt nicht (und schau' ich mir auch nicht an), solange alles im Plaintext vorhanden ist.
greetz André
P.S.: In deinem Satz
bevor wir hier die Augenkrise bekommen, möchte ich dich doch bitten, unsere ##blue|##-Formatierung einzusetzen (geht auch nachträglich beim Bearbeiten) ...
Ebenso möchte ich dich darauf hinweisen, dass solche Anordnungen wie
If exist \\Server\Ordner\Printserver.loggoto Vorhanden
a) fehlerhaft sind und
b)
if not exist
erst gar nicht greifen würde, da ohne sinnvolles if exist ... (tu dies tu das) else (tu das oder dies)
dann :Vorhanden
direkt danach angesprochen wird ...Mehr ins Detail gehe ich jetzt nicht (und schau' ich mir auch nicht an), solange alles im Plaintext vorhanden ist.
greetz André
P.S.: In deinem Satz
Bedanke mich im voraus schonmal für eure Beiträge!!!!!!!!!
stecken zwei Fehler ... (nein, ich spreche nicht von Rechtschreibung und/oder Grammatik)
moinsen,
ist ja mal ein ganz neuer Ansatz...
André meinte wirklich code tags - nicht code plain...
Und wenn du dann bei edit ieren bist - wo ist nochmal das Problem versteckt?
Bevor ich ganz weglaufe o der mein feuchtes Brötchen zwischen den Ohren ausläuft...
Wo du wolle?
Gruß
@echo off ist Vorhanden
ist ja mal ein ganz neuer Ansatz...
André meinte wirklich code tags - nicht code plain...
Und wenn du dann bei edit ieren bist - wo ist nochmal das Problem versteckt?
Ich habe drei Batch Dateien. 2 davon laufen in einer.
Bevor ich ganz weglaufe o der mein feuchtes Brötchen zwischen den Ohren ausläuft...
Wo du wolle?
Gruß
Zitat von @Simsa84:
Das sind halt Dinge die ich gefunden habe wie gesagt kenne mich noch nicht so gut aus aber Ich merke schon das ihr sehr Hilfsbereit seid.
Brauchst du nix Internet, guckst du Hilfe von CMD Das sind halt Dinge die ich gefunden habe wie gesagt kenne mich noch nicht so gut aus aber Ich merke schon das ihr sehr Hilfsbereit seid.
if /? sollte dir schon einmal Hinweise darauf geben, warum deine
goto
-Anordnungen fehlerhaft sind und auch teilweise eingekürzt werden können (z.B. if exist ... (echo Existiert bereits. && pause && goto :eof) else (call ...)
... Sprungmarken sollten, nebenbei bemerkt, eindeutig und daher nicht mehrfach vorhanden sein.Ich werde versuchen mich zu bessern!!!
Mir genügt es schon, wenn du die CMD-Hilfe bemühst, learning-by-doing (gerne auch mit konkreten Nachfrage, wenn es hakt) ausübst und deine Ausrufezeichen sparsam verwendest.Was genau soll
goto \\Bat1
eigentlich bewirken? Du versuchst hier per Sprungmarkensprung ein Verzeichnis aufzurufen (?)greetz André
... so kann man das nicht stehen lassen ^__^
fertig aus, mehr muss da doch gar nicht ...
und beim Testen haut man meist sowieso ein
greetz André
@If not exist %Temp%\Printserver.log @call Print.bat
if exist
dann macht er eben nichts und die batch macht Feierabend, if not exist
dann führt er es eben aus und macht auch automatisch Feierabend ...und beim Testen haut man meist sowieso ein
goto :eof
als letzte Zeile, was bei Doppelklick oder Taskplanerausführung natürlich hier überflüssig wirdgreetz André