
【環境】
Windows7 professional 32bit sp1
お世話になります。
上記環境でバッチファイルを起動し、
1.MACアドレスを取得
2.複数NICがある場合は全てのMACアドレスを取得
という処理を行いたいのですが、
echoで取得結果を確認すると値が入っていません。
バッチに関して理解不足で申し訳ありませんが、是非ご教授お願い致します。
以下、現在作成しているコマンドです。
for /f "tokens=11 delims=: " %%b in ('ipconfig /all ^| find "Physical Address"') do set MAC=%%b
以上です。
No.4ベストアンサー
- 回答日時:
いろいろ確認する方法はあると思いますが。
とりあえずfindを使わずにipconfigの出力全部にfor文を適用して、MACアドレスの行から思い通りの部分が取り出せているか確かめるとか。
そもそも、delimsにスペースを含めなければ、"tokens=2 delims=:"で単純に取り出せるんですけど。
MACアドレスの先頭にスペースが付いちゃいますが、それは後から消すほうが楽だし。
あと、前の締め切られた質問の方でも書きましたが、
set MAC=%%b
だと最後に実行した行しか有効にならないので、
SETLOCAL ENABLEDELAYEDEXPANSION
で環境変数の遅延展開を有効にしたうえで
set MAC=!MAC! %%b
として追加するようにしてみましょう。
この回答への補足
上手くいきました!!ありがとうございます。
加えて、
もし可能であれば、
”2.複数NICがある場合は全てのMACアドレスを取得”で取得した値で
ファイル内のテキストを検索することは可能でしょうか?
端末によってNICがいくつあるか不明なので、
取得したMACアドレス分検索し、検索結果によって処理を分岐させたいのですが・・・。
お手数おかけしますが、
何卒ご教授のほど、よろしくお願い致します。
No.3
- 回答日時:
まずはfor文のtokensが何を意味するのか調べてみましょう。
そのうえで、11が正しい数値か考えてみましょう。
この回答への補足
回答ありがとうございます。
申し訳ありません。
13が正解ですね。
ただ、tokens=13で処理を実行して、
Echoで内容確認しようとすると、"ECHOは<ON>です。"と表示されていしまい。
値が取れていないのか、それともそもそものロジックがまずいのか、
頭が痛いところです。
No.2
- 回答日時:
日本語版なら、「Physical Address」でなく「物理アドレス」の間違いではありませんか?
この回答への補足
言葉が足りず申し訳ありません。
おっしゃるとおり、「物理アドレス」である場合を考慮し、
「Physical Address」でも「物理アドレス」でも取得出来るよう、
分岐させてあります。
ただ、「物理アドレス」を指定したロジックを通った場合でも取得出来ていない状態なんです。
お礼が遅くなり申し訳ありません。
知識が無く、要点を欠いた質問にも関わらず回答頂き、
感謝しています。
今後ともよろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ftpコマンドを実行すると「425 ...
-
バッチファイル 文字列にスペ...
-
AccessVBAで実行時間を指定する...
-
findstrでヒットした1行前の文...
-
フォルダ、ファイル操作に最適...
-
SSH接続でwindowsサーバのコマ...
-
ftpコマンド出力結果の取得
-
make test って何をするための...
-
シェルスクリプト(.sh)で、10進...
-
コマンド プロンプト
-
FTPの作業をWindows上の...
-
バッチ終了時にDOS窓を閉じるコ...
-
Windows2000のコマンドプロンプ...
-
コマンドプロンプトのエラーに...
-
コマンドプロンプトの「%1」と...
-
エクセルのVBAについて とある...
-
大量のフォルダからひとつのフ...
-
チームズのチャット画面にファ...
-
コマンドプロンプトで作成日時...
-
win10の「フォト」で、「次へ」...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイル 文字列にスペ...
-
コマンドプロンプトをクリック...
-
バッチ終了時にDOS窓を閉じるコ...
-
make test って何をするための...
-
ftpコマンドを実行すると「425 ...
-
シェルの「:コマンドが見つか...
-
バッチファイルを使ってテキス...
-
コンピュータ名をファイル名に...
-
DOSコマンドに詳しい方、お知恵...
-
xCopyコマンドでネットワークご...
-
AccessVBAで実行時間を指定する...
-
findstrでヒットした1行前の文...
-
ftpコマンド出力結果の取得
-
シェルスクリプト(.sh)で、10進...
-
バッチえファイルを編集するに...
-
VBA 特定文字含むファイル
-
VisioのVBAでユーザにファイル...
-
複数のフォルダを開くバッチフ...
-
コマンドプロンプトでファイル...
-
シェルスクリプト内のcdで、カ...
おすすめ情報