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?
Please also mark the comments that contributed to the solution of the article
Content-Key: 276059
Url: https://administrator.de/contentid/276059
Printed on: April 25, 2024 at 11:04 o'clock
2 Comments
Latest comment
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