2
我試圖編寫一個批處理文件,這將允許用戶選擇他們的活動Internet連接,如果有多個來自netsh命令生成的列表,然後更改DNS設置。創建一個批處理文件來識別活動的Internet連接
但是我不知道如何使用選擇命令時,已知的選項數量,直到腳本執行。沒有使用數組,我試圖創建一個字符串變量'choices'來保存代表數字選擇的字符串,並將它傳遞給選擇命令,但是我不能讓它工作。我不禁感到必須有一個更簡單的方法來做到這一點,但我的研究沒有向我證明這一點。任何幫助將受到感謝。
@echo off
setlocal
Set active=0
Set choices=1
set ConnnectedNet=
FOR /F "tokens=2,3* " %%j in ('netsh interface show interface ^| find "Connected"') do Set /A active+=1
FOR /L %%G IN (2,1,%active%) do (set choices=%choices%%%G)
if %active% lss 2 goto :single
if %active% gtr 1 goto :multiple
:single
FOR /F "tokens=2,3* " %%j in ('netsh interface show interface ^| find "Connected"') do set ConnnectedNet=%%l
netsh interface IPv4 set dnsserver "%ConnnectedNet%" static 0.0.0.0 both
goto :eof
:multiple
echo You have more than one active interface. Please select the interface which you are using to connect to the Internet
FOR /F "tokens=2,3* " %%j in ('netsh interface show interface ^| find "Connected"') do echo %%l
CHOICE /C:%choices% /N /T:1,10