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, 5635 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Teile eines Dateinamens ändern mit Batch Datei (4)

Frage von fffffuuuuuuuhhhh zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch: CPU-Auslastung eines Prozesses auslesen und als Variable definieren (2)

Frage von tralveller zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(8)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte