質問編集履歴

2

プログラムの追加

2022/10/21 06:51

投稿

ebinohara
ebinohara

スコア0

test CHANGED
File without changes
test CHANGED
@@ -13,9 +13,61 @@
13
13
  取得したDNSアドレスの前後のスペースを削除したいのですが
14
14
  call trim がうまく通らない
15
15
 
16
+ 、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
17
+ rem 調べる範囲をイーサネットだけに限定する
18
+ for /f "tokens=1,2* delims=, usebackq" %%i in (`netsh interface ip show dnsservers ^| findstr "Ethernet0"`) do @set INTERFACE1="Ethernet0"
16
19
 
17
- for /F "tokens=1,2* usebackq delims=^:" %i in (`netsh interface ipv4 show dnsservers "Ethernet0" | findstr "DNS サーバー"| findstr /n /r "."`) do @set DNS=%k
20
+ 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"
18
21
 
22
+
23
+ if %INTERFACE1% == "Ethernet0" (
24
+ goto SearchDNS
25
+ ) else (
26
+ goto end
27
+ )
28
+
29
+ :SearchDNS
30
+
31
+ rem DNSが設定されてるか調べて、数字だけを抜き取る
32
+
33
+ for /f "tokens=1,2* usebackq delims=^:" %%i in (`netsh interface ipv4 show dnsservers %INTERFACE1% ^| findstr "DNS サーバー"^| findstr /n /r "."`) do @set DNS=%%k
34
+
35
+ rem 取得したDNSアドレスの前後を削除
36
+
37
+ call :Trim %DNS%
38
+
39
+ echo %DNS%
40
+
41
+ rem DNSセットのコマンド
42
+ set interface_name=イーサネット
43
+
44
+ rem インターフェイス名を設定
45
+ set jinterface_name=イーサネット
46
+
47
+ rem DNSサーバ情報を設定
48
+ set dns_server=xx.xx.xx.xx
49
+ set dns_server=xx.xx.xx.xx
50
+
51
+ if "%DNS%" == "" (
52
+ goto SetDNS
53
+ ) else (
54
+ goto end
55
+ )
56
+
57
+ :SetDNS
58
+ netsh interface ipv4 set dns name="%interface_name%" source=static
59
+ address="%dns_sever%" register=primary validate=yes
60
+
61
+ ntsh interface ipv4 set dns name="%interface_name%"
62
+ address="%dns_server2%"
63
+
64
+ :Trim
65
+ set DNS=%*
66
+
67
+ :end
68
+ pause
69
+ exit
70
+ 、、、、、、、、、、、、、、、、、、、、、、、、
19
71
  rem 取得したDNSアドレスの前後を削除
20
72
 
21
73
  call :Trim %DNS%

1

trim以降の文を修正

2022/10/21 05:05

投稿

ebinohara
ebinohara

スコア0

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  rem 取得したDNSアドレスの前後を削除
20
20
 
21
- call :Trim xx.xx.xx.xx.
21
+ call :Trim %DNS%
22
22
  指定されたバッチ ラベルが見つかりません - Trim →この部分です。なぜかtrimできないです。
23
23
 
24
24