vbanfaenger

Problem mit Übergabeparameter in FOR-Schleife

Hallo,
ich bräuchte nochmal Hilfe von den Batch Gurus..
Ich möchte die Ausgabe eines CMD-Befehls nach einer IP durchsuchen (find) und das Ergebnis in eine Variable schreiben, scheitere aber an dem Übergabeparameter.
Also.. %1 ist xxx.xxx.xxx.204
for /f "tokens=2" %%a in ('arp -a ^| find "%1"') do set macstring=%%a funktioniert nicht

arp -a | find "%1" funktioniert wiederum

for /f "tokens=2" %%a in ('arp -a ^| find "204"') do set macstring=%%a funktioniert auch

Das Problem kann ja jetzt nur sein, dass ich das %1 für das find irgendwie escapen muss, scheitere aber kläglich. Kann jemand helfen? Vielen Dank im voraus!
Gruß vbanfaenger
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 506321

Url: https://administrator.de/forum/problem-mit-uebergabeparameter-in-for-schleife-506321.html

Ausgedruckt am: 28.04.2025 um 09:04 Uhr

141320
141320 18.10.2019 aktualisiert um 17:10:58 Uhr
Goto Top
Das Problem kann ja jetzt nur sein, dass ich das %1 für das find irgendwie escapen muss
Nö.

Geht doch ... face-smile
@echo off & setlocal
set "macstring="  
for /f "tokens=2" %%a in ('arp -a "%~1" ^|find "  %~1 "') do set "macstring=%%a"  
if defined macstring (
    echo %macstring%
) else (
    echo MAC fuer IP nicht gefunden.
)
0a27ca5e817def78803567f4cff7976a