Van ez a parancsom:
wmic nic where "NetConnectionStatus=2" get netconnectionid |findstr /v "^Net"|findstr /v "^$"
ami ezt ad vissza:
Embedded FlexibleLOM 1 Port 1
Embedded FlexibleLOM 1 Port 2
Hogy tudnam ezt ugy megcsinalni, hogy csak az elso sort adja vissza?
Winpe osregi kaki rendszerrol van szo,igy sajnos a select -first 1 nem mukodik. Jo lenne, ha a findstr sem kellene, de ha kell, akkor az talan megoldhato.
Illetve amit probaltam es talan ez is megoldas lehet, hogy ez a script:
@ECHO OFF
SET COMMAND=wmic nic where "NetConnectionStatus=2" get netconnectionid^|findstr "Net"
FOR /F "delims=" %%A IN ('%COMMAND%') DO (
SET TEMPVAR=%%A
GOTO :Print
)
:Print
ECHO %TEMPVAR%
De ez meg azert nem mukodik mert nem eszi meg a | valamiert :(
BTW: ha lefuttatom a scriptet megjegyzi a CMD es nem irja felul a kimenetet. Hogy lehet ezt flusholni?
Koszi
- 1186 megtekintés
Hozzászólások
megjegyzi a CMD es nem irja felul a kimenetet
mit jegyez meg a cmd?
kinek kéne milyen kimenetet felülírni?
egyébként meg:
findstr /v "^Net" | findstr /v "^$" | findstr /n /r "." | findstr /r "^1:"
igaz, benne lesz a sorszám is. nemtom, az baj-e?
~~~~~~~~
deb http://deb.uucp.hu/ wheezy yazzy repack
- A hozzászóláshoz be kell jelentkezni
Jobb lenne sorszam nelkul, de szerintema temporary file-os megoldas lesz a szimpatikus. Bar nem tudom hol keletkezik az a file, de nem talalom sehol :)
A mit jegyez meg a cmd:
Amikor lefuttatom a szkriptet, akkor a kovetkezo lefuttatasnal is az elozo eredmenyet adja vissza. Powershellben jo, de sima cmd-ben az elozot adja vissza.
- A hozzászóláshoz be kell jelentkezni
Ha temp file mehet, akkor az első sort pl így lehet kinyerni:
@echo off
wmic nic where "NetConnectionStatus=2" get netconnectionid |findstr /v "^Net"|findstr /v "^$" >tmp.tmp
set /p alma=<tmp.tmp
echo %alma%
- A hozzászóláshoz be kell jelentkezni
Jonak tunik, koszonom.
- A hozzászóláshoz be kell jelentkezni
set-tel nem fog menni, mert a valtozo kifejtese, plusz pipeolas nem erossege a windowsnak.
annelkul viszont megy:
FOR /F "delims=" %%A IN ('wmic nic where "NetConnectionStatus=2" get netconnectionid ^|findstr "Net"') DO (
SET TEMPVAR=%%A
GOTO :Print
)
:Print
ECHO %TEMPVAR%
ha ennyire batchelsz, lehet hogy a SETLOCAL EnableDelayedExpansion -is kelleni fog. tedd el jobb napokra, amikor nem erted miert nem valtozik a valtozo
- A hozzászóláshoz be kell jelentkezni
Koszi :)
- A hozzászóláshoz be kell jelentkezni