Gast Flipshot Geschrieben 12. Oktober 2004 Melden Teilen Geschrieben 12. Oktober 2004 Ich habe unsere Start-Scripte überarbeitet und die Spaghetti-Goto-Programmierung durch If-Blöcke ersetzt. Funktioniert unter XP wunderbar, nur unter NT scheint das wohl noch net gegeben zu haben. Ich habe z. B. folgende Anweisungen: If "%ErrorLevel%" == "0" ( If Exist "H:" ( Net Use H: /Delete > Nul ) Echo Verbinde Laufwerk H: mit \\Server\Freigabe... Net Use H: \\Server\Freigabe > Nul ) ... nächste Anweisung ... Nun habe ich das Problem, dass unter NT irgendwie nur die Zeile zum Löschen der Verbindung mit dem H: Laufwerk ausgeführt wird. Die Zeile zum neu verbinden wird irgendwie ignoriert und es geht nach dem If-Block mit der nächsten Anweisung weiter. Versteht NT noch gar keine If-Blöcke in Batch-Scripten oder wo liegt hier das Problem. Wie kann ich das Problem "elegant" lösen, ohne wieder auf die Spaghetti-Goto-Programmierung zurück greifen zu müssen?! Zitieren Link zu diesem Kommentar
Gast Flipshot Geschrieben 13. Oktober 2004 Melden Teilen Geschrieben 13. Oktober 2004 http://www.ss64.com/ntsyntax/brackets.html Zitieren Link zu diesem Kommentar
Gast Flipshot Geschrieben 18. Oktober 2004 Melden Teilen Geschrieben 18. Oktober 2004 Jetzt bin ich aber gerade etwas verwirrt! Ich habe die Start-Scripte nun mal bei mir daheim unter einer Windows NT VMware getestet. Es funktioniert komischerweise! Alle Befehle in If-Blöcken werden automatisch mit & verbunden. Aus If "1" == "1" ( Echo Hello again, Echo es ist schön dich wiederzusehen! ) wird automatisch If "1" == "1" (Echo Hello again, & Echo es ist schön dich wiederzusehen!) Wieso funktioniert das dann bei mir im Geschäft net?! Gibt's da evtl. noch irgendwelche Schalter für die Kommandozeile, wie Befehle interpretiert werden sollen?! Zitieren Link zu diesem Kommentar
Darksun777 10 Geschrieben 19. Oktober 2004 Melden Teilen Geschrieben 19. Oktober 2004 Es KÖNNTE an der Schreibweise liegen .. zumindest hab ich die Erfahrung schonmal gemacht. Probiers mal so: if %errorlevel%==1 goto c1 Das goto kannst Du natürlich mit was anderem ersetzen. So funzt es bei mir unter NT ... btw, wozu brauchst du die klammern ? is mir nicht ganz klar .. if %os%==Windows_NT echo Sie haben Windows NT! so funzt es doch auch .. ohne die Klammern .. Zitieren Link zu diesem Kommentar
Gast Flipshot Geschrieben 19. Oktober 2004 Melden Teilen Geschrieben 19. Oktober 2004 Die Klammern benötige ich im Prinzip nur zwecks der strukturierten Programmierung. Bei einzelnen Befehlen kann ich diese natürlich ohne Klammern an die If-Klausel anhängen, aber es gibt bei mir auch Script-Passagen, die mehrere Befehle enthalten, welche dann etwas übersichtlich gestaltet werden sollen. Ich versuch's mal mit deiner Schreibweise. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.