Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Batch befehlerklärung

Frage Entwicklung Batch & Shell

Mitglied: campino1611

campino1611 (Level 1) - Jetzt verbinden

15.02.2010, aktualisiert 09:56 Uhr, 5593 Aufrufe, 6 Kommentare

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.:
01.
@echo off 
02.
set Wert1=1234 
03.
set /a Wert2=%Wert1% %%5 
04.
echo %Wert2% 
05.
pause 
06.
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.
Mitglied: iVirusYx
15.02.2010 um 10:04 Uhr
Habe dies schnell gegoogled:
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
Bitte warten ..
Mitglied: campino1611
15.02.2010 um 10:15 Uhr
Danke für deine schnelle Antwort.

könntest du mir aber diese befehlszeile mal erklären???
01.
set /a ergebnissz=(%zahl1%%%%Zahl2%)
Bitte warten ..
Mitglied: 60730
15.02.2010 um 10:43 Uhr
Moin,

das ist reine Mathematik.

Set /? liefert dir den Rest.
stichwort arithmetische Operatoren

Gruß
Bitte warten ..
Mitglied: bastla
15.02.2010 um 10:44 Uhr
Hallo campino1611 und willkommen im Forum!

% (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]
Bitte warten ..
Mitglied: Biber
15.02.2010 um 10:45 Uhr
Moin campino1611,

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

01.
>set zahl1=111 
02.
>set zahl2=17 
03.
>set /a ergebnissz=(%zahl1% % %Zahl2%) 
04.
05.
## weniger kryptisch geschrieben 
06.
>set /a ergebnissz=(zahl1 % Zahl2) 
07.
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
Bitte warten ..
Mitglied: campino1611
15.02.2010 um 11:03 Uhr
Danke an alle Helfer habs jetzt verstanden.
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Batch & Shell
gelöst Batch und Powershell (2)

Frage von michi-ffm zum Thema Batch & Shell ...

Batch & Shell
gelöst Mittels Batch eine Uhrzeit aus einer .txt auslesen und verabeiten (4)

Frage von Beatzler zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Zusammenarbeit
Als Administrator im Großraumbüro (29)

Frage von Dopamin85 zum Thema Zusammenarbeit ...

Hardware
Laptop ins Salzwasser gefallen (18)

Frage von Marcel94 zum Thema Hardware ...

Hardware
Lenovo Yoga 500 über angeschlossene USB Tastatur booten (13)

Frage von thomasreischer zum Thema Hardware ...

CPU, RAM, Mainboards
Hardware Fragen (12)

Frage von xaver-2 zum Thema CPU, RAM, Mainboards ...