Batch befehlerklärung
Hallo liebe User von Administrator.de ich hoffe ihr könnt mir helfen!!!
Also folgendes:
Ich beschäftige mich nun schon seit ein paar Monaten mit batch und denke, dass ich in diesem Gebiet nicht der Dümmste bin.
Neulich bin ich aber mal wieder auf einen Befehl gestoßen den ich mir nicht erklären kann und auch Nichts dazu im Netz steht.
Es geht um das Doppelprozent:
Bsp.:
Er gibt mir so immer die letzte Zahl aus. Was bringt einem das und was bewirkt die FÜNF hinter dem Doppelprozent
Vielen Dank im Vorraus.
Also folgendes:
Ich beschäftige mich nun schon seit ein paar Monaten mit batch und denke, dass ich in diesem Gebiet nicht der Dümmste bin.
Neulich bin ich aber mal wieder auf einen Befehl gestoßen den ich mir nicht erklären kann und auch Nichts dazu im Netz steht.
Es geht um das Doppelprozent:
Bsp.:
@echo off
set Wert1=1234
set /a Wert2=%Wert1% %%5
echo %Wert2%
pause
exit
Er gibt mir so immer die letzte Zahl aus. Was bringt einem das und was bewirkt die FÜNF hinter dem Doppelprozent
Vielen Dank im Vorraus.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 135933
Url: https://administrator.de/contentid/135933
Ausgedruckt am: 22.11.2024 um 18:11 Uhr
6 Kommentare
Neuester Kommentar
Habe dies schnell gegoogled:
Aber ich glaube eher du suchst dies hier:
http://support.microsoft.com/kb/75634
Using a percent sign (%) in a batch file requires that two percent signs (%%) be specified. For example, the command to display "5%" from a batch file would ...
Aber ich glaube eher du suchst dies hier:
http://support.microsoft.com/kb/75634
Moin,
das ist reine Mathematik.
Set /? liefert dir den Rest.
stichwort arithmetische Operatoren
Gruß
das ist reine Mathematik.
Set /? liefert dir den Rest.
stichwort arithmetische Operatoren
Gruß
Hallo campino1611 und willkommen im Forum!
% (bzw %% im Batch ) in einer "
Grüße
bastla
[Edit] @timobeil: Gleich beim ersten Post der Woche überholt - aber Dir lasse ich ja gerne den Vortritt ... [/Edit]
% (bzw %% im Batch ) in einer "
set /a
" führt eine "Modulo"-Berechnung aus - wenn in Deinem Beispiel in %zahl1% die Zahl 10 und in %Zahl2% die Zahl 3 enthalten wären, würde daher der Variablen %ergebnisz% (sorry, das zweite "s" kann ich beim besten Willen nicht hinschreiben ) der Wert 1 (= Rest der Division 10 /3) zugewiesen ...Grüße
bastla
[Edit] @timobeil: Gleich beim ersten Post der Woche überholt - aber Dir lasse ich ja gerne den Vortritt ... [/Edit]
Moin campino1611,
Diese Zeile...
Gemeint ist eigentlich nur die Verwendung des Modulo-Operators (also Ermittlung des ganzzahligen Rests der Division Zahl1/Zahl2).
Beispiel mit Zahl1=111 und Zahl2=17 wäre ja 111/17 = 6 Rest 9. Oder verkürzt "111 modulo 17 = 9".
In Schreibweise am CMD-Prompt "Set /a 111 % 17" --> Ergebnis ist 9
Im Batch muss das %-Zeichen (der Modulo-Operator verdoppelt werden.
Aber %zahl1% und %zahl2% können auch als zahl1 und zahl2 ohne umschließende Prozentzeichen geschrieben werden und Leerzeichen zwischen den Variablen und dem Modulo-Operator sind durchaus erlaubt.
Grüße
Biber
Diese Zeile...
set /a ergebnissz=(%zahl1%%%%Zahl2%)
...ist vermutlich bewusst so kryptisch-unleserlich gestaltet worden, um irgendwelche Batch-Einsteiger zu beeindrucken oder abzuschrecken.Gemeint ist eigentlich nur die Verwendung des Modulo-Operators (also Ermittlung des ganzzahligen Rests der Division Zahl1/Zahl2).
Beispiel mit Zahl1=111 und Zahl2=17 wäre ja 111/17 = 6 Rest 9. Oder verkürzt "111 modulo 17 = 9".
In Schreibweise am CMD-Prompt "Set /a 111 % 17" --> Ergebnis ist 9
>set zahl1=111
>set zahl2=17
>set /a ergebnissz=(%zahl1% % %Zahl2%)
9
## weniger kryptisch geschrieben
>set /a ergebnissz=(zahl1 % Zahl2)
9
Im Batch muss das %-Zeichen (der Modulo-Operator verdoppelt werden.
Aber %zahl1% und %zahl2% können auch als zahl1 und zahl2 ohne umschließende Prozentzeichen geschrieben werden und Leerzeichen zwischen den Variablen und dem Modulo-Operator sind durchaus erlaubt.
Grüße
Biber