2013-04-28 102 views
1

我有這個NETSH命令(下面)設置爲變量,%連接名%,我需要稍後使用它斷開與互聯網的連接,然後再次再次重新連接到互聯網。顯示NETSH命令

set %connectionname%=NETSH WLAN SHOW INTERFACE | findstr /r "^....SSID"` 

它表明變量從互聯網上斷開後是空白,我不知道爲什麼, 有人能幫助我弄清楚爲什麼這個心不是顯示?

回答

1

您不能使用該語法將變量設置爲命令的輸出。您應該使用FOR/F命令,將命令用IN()子句中的單引號括起來,以表示您要執行命令。

我假設你想要變量中的值,而不是SSID標籤。因此,您希望將FOR/F分隔符設置爲冒號和空格,並將標記設置爲2.另外,當您要擴展該值時,只需以百分比形式包含變量名稱。當你想設置變量時,你不使用百分數。

這裏是一個可以在命令行運行完整的命令:

for /f "tokens=2 delims=: " %A in ('netsh wlan show interface ^| findstr "^....SSID"') do set "connectionname=%A" 

如果你想在一個批處理文件中的命令,則必須雙倍的百分比:%A成爲%%A

從命令提示符下輸入HELP FORFOR /?以獲取有關如何使用FOR/F的更多信息。

+0

感謝我仍然newb地位的任何先進的,謝謝你的幫助,謝謝我不知道你不能設置一個變量使用該語法命令的輸出,所以謝謝。 – CodeKeyer 2013-05-27 17:32:38

+0

嘿,我剛剛測試了代碼,它找到了我的確切SSID並將其設置爲變量。現在,我可以自動斷開連接並完全重新連接到互聯網。謝謝! – CodeKeyer 2013-05-27 17:50:15

+0

@CodeKeyer - 不要忘記接受解決問題的好答案。點擊答案左上角附近的複選標記。該行動讓別人知道你的問題已經得到解答,它會授予你2個聲望點,並授予答案海報15個重點。每個答案只能接受一個問題。一旦您達到15個重要點,您就有權投票回答任何問題和答案。投票的問題給予提問者5分,投票答案爲10分。您可以投票選出最有用的答案。 – dbenham 2013-05-27 18:38:18