最後のsetdnsの部分が通りません

前提

DNS自動取得し、設定するバッチ作成中に
エラーが発生しました

実現したいこと

DNSアドレス情報を取得し、取得するインターフェイスをイーサネットに限定
DNSが設定されていない場合のみ、指定したDNSを設定する

発生している問題・エラーメッセージ

for /f "tokens=1,2* usebackq delims=^:" %%i in (`netsh interface ip show dnsservers ^| findstr "イーサネット 2"`) do @set INTERFACE1="イーサネット 2" for /f "tokens=1,2* delims=, usebackq" %%i in (`netsh interface ip show dnsservers ^| findstr "Loopback Pseudo-Interface 1"`) do @set INTERFACE2="Loopback Pseudo-Interface 1" rem イーサネットの場合のみDNSを取得するようにする if %INTERFACE1% == "イーサネット 2" ( goto SearchDNS ) else ( goto end ) :SearchDNS rem DNSアドレスの数字の部分だけを取得するために情報を取得後にtrimを実行 for /f "tokens=1,2* usebackq delims=^:" %%i in (`netsh interface ipv4 show dnsservers %INTERFACE1% ^| findstr "DNS サーバー"^| findstr /n /r "."`) do @set DNS=%%k echo %DNS% rem 取得したDNSアドレスの前後を削除 call :Trim %DNS% echo %DNS% rem DNSアドレスを取得後、DNSアドレスが設定されてないときのみsetdnsに行く if "%DNS%" == "" ( goto SetDNS ) else ( goto end ) rem DNSアドレスを設定するパート ここから下の部分がうまくいかない  **:SetDNS** rem DNSセットのコマンド set interface_name=イーサネット 2 rem インターフェイス名を設定 set interface_name=イーサネット 2 rem DNSサーバ情報を設定 set dns_server=xx.xx.xx.xx set dns_server=xx.xx.xx.xx netsh interface ipv4 set dns name="%interface_name%" source=static address="%dns_sever%" register=primary validate=yes netsh interface ipv4 set dns name="%interface_name%" address="%dns_server2%" pause :Trim set DNS=%* exit /b :end pause exit

'address' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

netsh interface ipv4 set dns name="イーサネット 2"

必要なパラメーターが指定されませんでした。
必要なパラメーターを確認し、再入力してください。
このコマンドの構文が無効です。ヘルプで正しい構文を参照してください。

上記のエラーメッセージが出てしまい、修正しても通りません
アドバイスをいただきたいです

コメントを投稿

0 コメント