Klammersetzung in Windows Batch Script
Hallo zusammen,
Kann man innerhalb einer IF Klammerung For Do Klammerungen nutzen? Oder fällt Windows dabei auf's Gesicht?
Beispiel:
Wenn eine Variable PrintPDF gesetzt ist, sollen bestimmte Dateitypen per Adobe gedruckt werden. Das Ping ist als kleine Bremse drin, damit Acrobat in Ruhe starten und drucken kann.
Code sieht folgendermaßen aus:
Funktioinert das so? Oder hab' ich da 'nen Denkfehler?
Kann man innerhalb einer IF Klammerung For Do Klammerungen nutzen? Oder fällt Windows dabei auf's Gesicht?
Beispiel:
Wenn eine Variable PrintPDF gesetzt ist, sollen bestimmte Dateitypen per Adobe gedruckt werden. Das Ping ist als kleine Bremse drin, damit Acrobat in Ruhe starten und drucken kann.
Code sieht folgendermaßen aus:
IF (%PrintPDF%)==(YES) (
For %a in (LS*.pdf) Do (
"C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe" /t "%%a"
ping -n 10 localhost
)
For %a in (RG*.pdf) Do (
"C:\Program Files (x86)\Adobe\Reader 11.0\Reader\AcroRd32.exe" /t "%%a"
ping -n 10 localhost
)
)
Funktioinert das so? Oder hab' ich da 'nen Denkfehler?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 276059
Url: https://administrator.de/contentid/276059
Ausgedruckt am: 21.11.2024 um 23:11 Uhr
2 Kommentare
Neuester Kommentar
Moin
Ja kannst du
Ansonsten kein Problem, du kannst sogar einen else-Teil machen:
(hier nur darauf achten das zwischen dem wort else und den Klammern ein Leerzeichen stehen muss.)
Für die Variablenzuweisung innerhalb von Schleifen beachte aber bitte das du dort eventuell DelayedExpansion benötigst.
Gruß jodel32
Ja kannst du
Funktioinert das so? Oder hab' ich da 'nen Denkfehler?
Bei den Laufvariablen (%a) hast du das Prozentzeichen nicht verdoppelt ...Ansonsten kein Problem, du kannst sogar einen else-Teil machen:
if .... == ... (
REM Mach hier was
) else (
REM mach hier was anderes
)
Für die Variablenzuweisung innerhalb von Schleifen beachte aber bitte das du dort eventuell DelayedExpansion benötigst.
Gruß jodel32