Avatar billede que Nybegynder
25. januar 2005 - 13:50 Der er 4 kommentarer

Assig value til en variable batch

Hej,

Jeg vil gerne have lavet en bat-fil der kan følgende:

læser mac adressen og smider denne ind i en tekstfil.
samtidigt vil jeg gerne have at den smider %computername% ind i samme fil!
da %COPUTERNAME% består af 2 ting vil jeg gerne have dem adskilt.
f.eks %COPUTERNAME% = E232pc5 --> E232 pc5

host %COMPUTERNAVN% { hardware ethernet MAC; } >> c:\test.txt

kan dette lade sig gøre??? og hvordan
Avatar billede bertelbrander Novice
25. januar 2005 - 20:10 #1
Ja, det kan godt lade sig gøre (hvis du kører Win NT/2000/XP).
Hvordan læser du mac-adressen?
Avatar billede bertelbrander Novice
25. januar 2005 - 23:53 #2
Jeg havde vist ikke læst dit spørgsmål ordentligt.
På XP (og nok også 2000 og NT) kan du bruge en bat-fil i stil med:

@echo off
for /F "tokens=3 delims= " %%I in ('nbtstat.exe -a %ComputerName% ^|findstr /C:"MAC-"') do set MacAddress=%%I
echo %MacAddress%>test.txt
echo %ComputerName%>>test.txt
set FirstPart=%ComputerName:~1,4%
set SecondPart=%ComputerName:~-3%
echo %FirstPart% %SecondPart%>>test.txt

Det udskriver følgende til test.txt
MAC-Addressen
Computernavn
FørsteFireTegnIComputernavn SidsteTreTegnIComputernavn
Avatar billede que Nybegynder
07. februar 2005 - 15:57 #3
Hej bertelbrander...

Sorry for den lange tilbagemeldeing...

her er hvad jeg fandt ud af:

SET FirstPart=%ComputerName:~1,3%
SET SecondPart=%ComputerName:~-1%
SET Refsti=h:\pcinfo.txt
SET Subnet=%ComputerName:~1,1%

IF EXIST %refsti% goto start
ECHO. > %refsti%

:start
ECHO.
ECHO.
ECHO Dette script vil indsamle informationer til adminitrativt brug for XXXXXX
ECHO Vent venligst

findstr /B %COMPUTERNAME% %Refsti% >nul
IF %errorlevel%==0 GOTO IDIOT

rem ECHO %COMPUTERNAME% >> %Refsti%
nbtstat -a %computername% > %SYSTEMDRIVE%\test.txt
for /F "tokens=4 delims= " %%a in ('nbtstat.exe -a %ComputerName% ^|findstr /C:"MAC "') do set MacAddress=%%a
ECHO host %COMPUTERNAME% %FirstPart% %SecondPart% {hardware ethernet %mac%;fixed-address 10.%Subnet%.%FirstPart%.%SecondPart%} >> %Refsti%
ECHO. >>%refsti%
DEL %SYSTEMDRIVE%\test.txt
GOTO END

:idiot
ECHO.
ECHO.
ECHO.
ECHO.
ECHO Vi har allerede oplysningerne fra denne PC, tak...

:END
SET FirstPart=
SET SecondPart=
SET Refsti=
SET Subnet=
ECHO Tryk ENTER for at afslutte...
pause >NUL

så en lille ændring... point til dig :-)
Avatar billede bertelbrander Novice
07. februar 2005 - 19:34 #4
Jeg samler ikke på point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester