1

この NETSH コマンド (以下) を変数 %connectionname% に設定しました。後でそれを使用してインターネットから切断し、後で再度インターネットに再接続する必要があります。

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

インターネットから切断した後、変数が空白になっていることが示されていますが、その理由がわかりません。

4

1 に答える 1

1

その構文を使用してコマンドの出力に変数を設定することはできません。FOR /F コマンドを使用して、IN() 句内でコマンドを一重引用符で囲み、コマンドを実行することを FOR に通知する必要があります。

SSID ラベルではなく、変数の値が必要であると想定しています。したがって、FOR /F 区切り文字をコロンとスペースに設定し、トークンを 2 に設定します。また、値を展開する場合は、変数名をパーセントで囲むだけです。変数を設定する場合は、パーセントを使用しません。

コマンドラインから実行できる完全なコマンドは次のとおりです。

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

コマンドをバッチ ファイルに含める場合は、パーセントを 2 倍にする必要があり%A ます%%A

FOR /F の使用方法の詳細については、コマンド プロンプトからorHELP FORを入力してください。FOR /?

于 2013-05-16T00:55:55.873 に答える