前提
ここに質問の内容を詳しく書いてください。
(例)
batでDNSを設定するものを作っています。
実現したいこと
DNSを取得して設定がなかったら新たに設定する
設定してあったらスキップ
発生している問題・エラーメッセージ
取得したDNSアドレスの前後のスペースを削除したいのですが
call trim がうまく通らない
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
rem 調べる範囲をイーサネットだけに限定する
for /f "tokens=1,2* delims=, usebackq" %%i in (netsh interface ip show dnsservers ^| findstr "Ethernet0"
) do @set INTERFACE1="Ethernet0"
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"
if %INTERFACE1% == "Ethernet0" (
goto SearchDNS
) else (
goto end
)
:SearchDNS
rem DNSが設定されてるか調べて、数字だけを抜き取る
for /f "tokens=1,2* usebackq delims=^:" %%i in (netsh interface ipv4 show dnsservers %INTERFACE1% ^| findstr "DNS サーバー"^| findstr /n /r "."
) do @set DNS=%%k
rem 取得したDNSアドレスの前後を削除
call :Trim %DNS%
echo %DNS%
rem DNSセットのコマンド
set interface_name=イーサネット
rem インターフェイス名を設定
set jinterface_name=イーサネット
rem DNSサーバ情報を設定
set dns_server=xx.xx.xx.xx
set dns_server=xx.xx.xx.xx
if "%DNS%" == "" (
goto SetDNS
) else (
goto end
)
:SetDNS
netsh interface ipv4 set dns name="%interface_name%" source=static
address="%dns_sever%" register=primary validate=yes
ntsh interface ipv4 set dns name="%interface_name%"
address="%dns_server2%"
:Trim
set DNS=%*
:end
pause
exit
、、、、、、、、、、、、、、、、、、、、、、、、
rem 取得したDNSアドレスの前後を削除
call :Trim %DNS%
指定されたバッチ ラベルが見つかりません - Trim →この部分です。なぜかtrimできないです。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/10/21 05:08
2022/10/21 06:07
2022/10/21 06:08
2022/10/21 06:54