<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>変数 on qwerty.work</title>
        <link>https://qwerty.work/tags/%E5%A4%89%E6%95%B0/</link>
        <description>Recent content in 変数 on qwerty.work</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja-JP</language>
        <lastBuildDate>Wed, 08 Aug 2018 23:55:23 +0900</lastBuildDate><atom:link href="https://qwerty.work/tags/%E5%A4%89%E6%95%B0/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>NETSHコマンドで取得したIPアドレスを変数に入れて判別するバッチファイルを作る方法</title>
            <link>https://qwerty.work/post/2018/08/netsh-get-ipaddress-batchfile/</link>
            <pubDate>Wed, 08 Aug 2018 23:55:23 +0900</pubDate>
            <guid>https://qwerty.work/post/2018/08/netsh-get-ipaddress-batchfile/</guid>
            <description>&lt;p&gt;NETSHコマンドで表示されるIPアドレスの情報を変数に入れて命令を分岐させるバッチファイルのメモ。&lt;/p&gt;&#xA;&lt;h3 id=&#34;現在のipアドレスを取得して命令を分けたい&#34;&gt;現在のIPアドレスを取得して命令を分けたい&#xA;&lt;/h3&gt;&lt;p&gt;バッチファイルでPCをメンテナンスする際、メンテナンスするPCが属しているネットワークの系統別に命令を分岐したいなと思うことがあったのでチャレンジしてみました。それには現在のIPアドレスがどうなっているのか調べ、その値を変数に入れ、IF文で分岐する必要があります。&lt;/p&gt;&#xA;&lt;h3 id=&#34;まずはnetshコマンドで表示される値を確認&#34;&gt;まずはNETSHコマンドで表示される値を確認&#xA;&lt;/h3&gt;&lt;p&gt;コマンドプロンプトで以下のコマンドと打って Enter を押すと現在のIPアドレスが表示されます。ここで表示されるIPアドレスを変数に入れたいと思います。&lt;/p&gt;&#xA;&lt;h4 id=&#34;windows-10-の場合&#34;&gt;Windows 10 の場合&#xA;&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-cmd&#34; data-lang=&#34;cmd&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;netsh interface ipv4 show address &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;イーサネット&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&#34;netsh interface ipv4 show address &#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;577px&#34; data-flex-grow=&#34;240&#34; height=&#34;291&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2018/08/netsh-get-ipaddress-batchfile/images/No-00.jpg&#34; width=&#34;700&#34;&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;windows-7-の場合&#34;&gt;Windows 7 の場合&#xA;&lt;/h4&gt;&lt;p&gt;Windows 7 の場合は &amp;ldquo;イーサネット&amp;rdquo; の部分を &amp;ldquo;ローカル エリア接続&amp;rdquo; に変更しないと表示されません。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-cmd&#34; data-lang=&#34;cmd&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;netsh interface ipv4 show address &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;ローカル エリア接続&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&#34;netsh interface ipv4 show address &#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;447px&#34; data-flex-grow=&#34;186&#34; height=&#34;363&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2018/08/netsh-get-ipaddress-batchfile/images/No-04.jpg&#34; width=&#34;677&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;それでもうまく表示されない場合は &amp;ldquo;ローカル エリア接続&amp;rdquo; の部分を削除して実行して接続名を確認し、表示された接続名に書き直して再度実行してみてください。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-cmd&#34; data-lang=&#34;cmd&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;netsh interface ipv4 show address&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;ip-アドレス-の部分だけ表示したいとき&#34;&gt;&amp;ldquo;IP アドレス&amp;rdquo; の部分だけ表示したいとき&#xA;&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-cmd&#34; data-lang=&#34;cmd&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;netsh interface ipv4 show address &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;イーサネット&amp;#34;&lt;/span&gt; | find &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;IP アドレス&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;img alt=&#34;netsh interface ipv4 show address &#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;938px&#34; data-flex-grow=&#34;391&#34; height=&#34;179&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2018/08/netsh-get-ipaddress-batchfile/images/No-01.jpg&#34; width=&#34;700&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Windows 7 の場合は &amp;ldquo;イーサネット&amp;rdquo; の部分を &amp;ldquo;ローカル エリア接続&amp;rdquo; に変更しないと表示されません。&lt;/p&gt;&#xA;&lt;h3 id=&#34;ipアドレスを変数に入れて命令を分岐するバッチファイル例&#34;&gt;IPアドレスを変数に入れて命令を分岐するバッチファイル例&#xA;&lt;/h3&gt;&lt;p&gt;もし、取得したIPアドレスが「192.168.」から始まるアドレスかどうかで命令を分岐するバッチファイルの例です。&lt;/p&gt;&#xA;&lt;p&gt;Windows 10 や Windows 7 で異なるインターフェースの構成が &amp;ldquo;イーサネット&amp;rdquo; か &amp;ldquo;ローカル エリア接続&amp;rdquo; のどちらになっているかも判別するのも加えているので、どちらのOSでも使えるバッチファイルになっています。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bat&#34; data-lang=&#34;bat&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;@&lt;span style=&#34;color:#66d9ef&#34;&gt;echo&lt;/span&gt; off&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;rem #遅延環境変数&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;setlocal&lt;/span&gt; enabledelayedexpansion&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;rem #インターフェースの構成が&amp;#34;イーサネット&amp;#34;か調べる&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;/f&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;tokens=1,2* usebackq delims=^:&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;%%&lt;/span&gt;i &lt;span style=&#34;color:#66d9ef&#34;&gt;in&lt;/span&gt; (&lt;span style=&#34;color:#e6db74&#34;&gt;`netsh interface ipv4 show address ^| findstr &amp;#34;イーサネット&amp;#34;`&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;do&lt;/span&gt; @&lt;span style=&#34;color:#66d9ef&#34;&gt;set&lt;/span&gt; INTERFACE=&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;イーサネット&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;rem #インターフェースの構成が&amp;#34;ローカル エリア接続&amp;#34;か調べる&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;/f&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;tokens=1,2* usebackq delims=^:&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;%%&lt;/span&gt;i &lt;span style=&#34;color:#66d9ef&#34;&gt;in&lt;/span&gt; (&lt;span style=&#34;color:#e6db74&#34;&gt;`netsh interface ipv4 show address ^| findstr &amp;#34;ローカル エリア接続&amp;#34;`&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;do&lt;/span&gt; @&lt;span style=&#34;color:#66d9ef&#34;&gt;set&lt;/span&gt; INTERFACE=&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;ローカル エリア接続&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; !INTERFACE! &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;イーサネット&amp;#34;&lt;/span&gt; (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;goto&lt;/span&gt; SearchIP&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; !INTERFACE! &lt;span style=&#34;color:#f92672&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;ローカル エリア接続&amp;#34;&lt;/span&gt; (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;goto&lt;/span&gt; SearchIP&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;goto&lt;/span&gt; Unknown&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:SearchIP&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;rem #IPアドレスを調べる&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;/f&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;tokens=1,2* usebackq delims=^:&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;%%&lt;/span&gt;i &lt;span style=&#34;color:#66d9ef&#34;&gt;in&lt;/span&gt; (&lt;span style=&#34;color:#e6db74&#34;&gt;`netsh interface ipv4 show address !INTERFACE! ^| findstr &amp;#34;IP アドレス&amp;#34; ^| findstr /n /r &amp;#34;.&amp;#34;`&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;do&lt;/span&gt; @&lt;span style=&#34;color:#66d9ef&#34;&gt;set&lt;/span&gt; IP=&lt;span style=&#34;color:#ae81ff&#34;&gt;%%&lt;/span&gt;k&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;rem #取得したIPアドレス前後のスペースを削除&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;call&lt;/span&gt; :Trim %IP%&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;rem #192.168.から始まるIPアドレスか判別&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;echo&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;echo&lt;/span&gt; %IP% | findstr /B 192.168. &amp;gt; nul&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; %ERRORLEVEL% &lt;span style=&#34;color:#f92672&#34;&gt;equ&lt;/span&gt; 0 (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;echo&lt;/span&gt; IPアドレスは%IP%です。&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;echo&lt;/span&gt; 192.168.から始まるIPアドレスではありません。&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;echo&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;goto&lt;/span&gt; End&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:Unknown&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;echo&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;echo&lt;/span&gt; インターフェースの構成名が不明です。&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;echo&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:End&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;endlocal&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;pause&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;exit&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:Trim&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;set&lt;/span&gt; IP=%*&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;実行してみた結果&#34;&gt;実行してみた結果&#xA;&lt;/h3&gt;&lt;p&gt;ちゃんとIF文で分岐した命令の通り、変数に格納されたIPアドレスが表示できました。&lt;/p&gt;&#xA;&lt;h3 id=&#34;windows-10-の場合-1&#34;&gt;Windows 10 の場合&#xA;&lt;/h3&gt;&lt;p&gt;&lt;img alt=&#34;Windows10でバッチファイルを実行した結果&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;1098px&#34; data-flex-grow=&#34;457&#34; height=&#34;153&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2018/08/netsh-get-ipaddress-batchfile/images/No-03.jpg&#34; width=&#34;700&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;windows-7-の場合-1&#34;&gt;Windows 7 の場合&#xA;&lt;/h3&gt;&lt;p&gt;&lt;img alt=&#34;Windows7でバッチファイルを実行した結果&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;1081px&#34; data-flex-grow=&#34;450&#34; height=&#34;150&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2018/08/netsh-get-ipaddress-batchfile/images/No-05.jpg&#34; width=&#34;676&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;ipconfigコマンドを使った参考ページ&#34;&gt;IPCONFIGコマンドを使った参考ページ&#xA;&lt;/h3&gt;&lt;p&gt;以下のページではIPCONFIGコマンドで取得したIPアドレスを変数に入れる方法を掲載しています。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://qwerty.work/blog/2018/08/ipconfig-get-ipaddress-batchfile.php&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;IPCONFIGで取得したIPアドレスを変数に入れて判別するバッチファイルを作る方法&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
        </item><item>
            <title>IPCONFIGで取得したIPアドレスを変数に入れて判別するバッチファイルを作る方法</title>
            <link>https://qwerty.work/post/2018/08/ipconfig-get-ipaddress-batchfile/</link>
            <pubDate>Tue, 07 Aug 2018 21:33:24 +0900</pubDate>
            <guid>https://qwerty.work/post/2018/08/ipconfig-get-ipaddress-batchfile/</guid>
            <description>&lt;p&gt;コマンドプロンプトでIPCONFIGを実行して表示されるIPアドレスの情報を変数に入れるバッチファイルのメモ。&lt;/p&gt;&#xA;&lt;h3 id=&#34;ネットワークの系統別に命令を分けたい&#34;&gt;ネットワークの系統別に命令を分けたい&#xA;&lt;/h3&gt;&lt;p&gt;ネットワークの系統別に別けて命令を実行するバッチファイルが必要になったのでチャレンジしてみました。&lt;/p&gt;&#xA;&lt;h3 id=&#34;まずはipconfigで表示される値を確認&#34;&gt;まずはIPCONFIGで表示される値を確認&#xA;&lt;/h3&gt;&lt;p&gt;コマンドプロンプトで &lt;strong&gt;ipconfig&lt;/strong&gt; と打って Enter を押すと以下の結果が表示されます。&lt;strong&gt;IPCONFIG&lt;/strong&gt;は現在使用中のIPアドレスを表示するコマンドですが、この11行目に表示されているIPアドレスを変数に入れ、IF文で命令を分岐させたいのです。画面は Windows 10 で実行したときの画面です。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;367px&#34; data-flex-grow=&#34;153&#34; height=&#34;482&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2018/08/ipconfig-get-ipaddress-batchfile/images/No-00.jpg&#34; width=&#34;739&#34;&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;バッチファイル&#34;&gt;バッチファイル&#xA;&lt;/h3&gt;&lt;p&gt;以下のソースで &lt;strong&gt;IPCONFIG&lt;/strong&gt; で表示される「IPv4アドレス」の欄にある値を変数に入れて処理することができました。&lt;strong&gt;Windows 10では11行目&lt;/strong&gt;で表示されましたが、&lt;strong&gt;Windows 7では行数が異なった&lt;/strong&gt;ので、OSや環境によって取得したい値の行が何行目にあるのか注意が必要です。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;548px&#34; data-flex-grow=&#34;228&#34; height=&#34;350&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2018/08/ipconfig-get-ipaddress-batchfile/images/No-01.jpg&#34; width=&#34;800&#34;&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bat&#34; data-lang=&#34;bat&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;@&lt;span style=&#34;color:#66d9ef&#34;&gt;echo&lt;/span&gt; off&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;/f&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;tokens=1,2* usebackq delims=^:&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;%%&lt;/span&gt;i &lt;span style=&#34;color:#66d9ef&#34;&gt;in&lt;/span&gt; (&lt;span style=&#34;color:#e6db74&#34;&gt;`ipconfig ^| findstr /n /r &amp;#34;.&amp;#34; ^| findstr /r &amp;#34;^11:&amp;#34;`&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;DO&lt;/span&gt; @&lt;span style=&#34;color:#66d9ef&#34;&gt;set&lt;/span&gt; IP=&lt;span style=&#34;color:#ae81ff&#34;&gt;%%&lt;/span&gt;k&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;rem 取得したIPアドレス前後のスペースを削除&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;call&lt;/span&gt; :Trim %IP%&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;rem 192.168.から始まるIPアドレスか判別&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;echo&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;echo&lt;/span&gt; %IP% | findstr /B 192.168. &amp;gt; nul&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;if&lt;/span&gt; %ERRORLEVEL% &lt;span style=&#34;color:#f92672&#34;&gt;equ&lt;/span&gt; 0 (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;echo&lt;/span&gt; IPアドレスは%IP%です。&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;else&lt;/span&gt; (&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#66d9ef&#34;&gt;echo&lt;/span&gt; 192.168.から始まるIPアドレスではありません。&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;echo&lt;/span&gt;.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;pause&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;:Trim&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;set&lt;/span&gt; IP=%*&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;実行してみた結果&#34;&gt;実行してみた結果&#xA;&lt;/h3&gt;&lt;p&gt;ちゃんとIF文で分岐でき、変数に格納されたIPアドレスが表示できました。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img class=&#34;gallery-image&#34; data-flex-basis=&#34;1081px&#34; data-flex-grow=&#34;450&#34; height=&#34;164&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2018/08/ipconfig-get-ipaddress-batchfile/images/No-02.jpg&#34; width=&#34;739&#34;&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;以下のような取得方法も&#34;&gt;以下のような取得方法も&#xA;&lt;/h4&gt;&lt;p&gt;取得したいIPアドレスの値がどの行にあるかOSによって異なるので、タイトルを指定して取得したい場合は以下の書き方でも取得できます。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bat&#34; data-lang=&#34;bat&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;/f&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;tokens=1,2* usebackq delims=^:&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;%%&lt;/span&gt;i &lt;span style=&#34;color:#66d9ef&#34;&gt;in&lt;/span&gt; (&lt;span style=&#34;color:#e6db74&#34;&gt;`ipconfig ^| findstr /n /r &amp;#34;.&amp;#34; ^| findstr /r &amp;#34;IPv4 アドレス&amp;#34;`&lt;/span&gt;) &lt;span style=&#34;color:#66d9ef&#34;&gt;DO&lt;/span&gt; @&lt;span style=&#34;color:#66d9ef&#34;&gt;set&lt;/span&gt; IP=&lt;span style=&#34;color:#ae81ff&#34;&gt;%%&lt;/span&gt;k&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;ただし、有線LANや無線LANとか仮想LANとかネットワークアダプタが複数あるPCの場合、一番最後のNICのアドレスを取得してしまいます。最初のNICのアドレスを指定して取得できる方法があるとは思いますが、また別の機会にチャレンジしてみたいと思います。&lt;/p&gt;&#xA;&lt;h3 id=&#34;netshコマンドを使った参考ページ&#34;&gt;NETSHコマンドを使った参考ページ&#xA;&lt;/h3&gt;&lt;p&gt;以下のページではNETSHコマンドで取得したIPアドレスを変数に入れる方法を掲載しています。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://qwerty.work/blog/2018/08/netsh-get-ipaddress-batchfile.php&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;NETSHコマンドで取得したIPアドレスを変数に入れて判別するバッチファイルを作る方法&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
        </item><item>
            <title>PHPで変数が未定義でエラーになってしまうときの対処</title>
            <link>https://qwerty.work/post/2013/12/php_4/</link>
            <pubDate>Mon, 02 Dec 2013 19:39:46 +0900</pubDate>
            <guid>https://qwerty.work/post/2013/12/php_4/</guid>
            <description>&lt;p&gt;ダウンロードしてきたPHPのソースをサーバーに置いてワクワクしながらブラウザでいざ表示ってときにほとんどのケースで**「Notice: Undefined variable～」**というエラー表示になります(T_T)&lt;/p&gt;&#xA;&lt;h2 id=&#34;原因は変数が定義されていないから&#34;&gt;原因は変数が定義されていないから&#xA;&lt;/h2&gt;&lt;p&gt;初期値は空だからと思って定義しなかったら、PHPは使用する変数にNULLでもいいから情報を予め入れておかないとエラーとなります。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$foo &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$foo &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;null&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$foo &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;isset&lt;/span&gt;($_GET[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;foo&amp;#34;&lt;/span&gt;]) &lt;span style=&#34;color:#f92672&#34;&gt;?&lt;/span&gt; $_GET[&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;foo&amp;#34;&lt;/span&gt;] &lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;NULL&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;沢山の変数にいちいちNULLや&amp;quot;&amp;ldquo;を定義するのは面倒なので、なにか簡単にエラー回避して解決できないかと検索したら、ありました。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;変数に@を付ける&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;@&lt;/span&gt;$foo;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;php.iniでerror_reportingを設定しておく&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;error_reporting = E_ALL &amp;amp; ~E_NOTICE&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;スクリプト内でerror_reporting関数でエラーを制御する&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-php&#34; data-lang=&#34;php&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;error_reporting&lt;/span&gt;(&lt;span style=&#34;color:#66d9ef&#34;&gt;E_ALL&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;^&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;E_NOTICE&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;参考サイト&#34;&gt;参考サイト&#xA;&lt;/h3&gt;&lt;p&gt;自分の環境の場合、Apaatchのレンタルサーバーではエラーが出ないのに、ローカルのIISだと出たりするなど、WEBサーバーが違うからかな？と思うこともありましたが、あんまり関係がなく、エラー処理が丁寧に行われていないスクリプトだと、500エラーが出たりして正常に動きませんでしたが、上記の対策で解決できました。&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>ファイルメーカーのファイル間で値を渡す方法</title>
            <link>https://qwerty.work/post/2010/06/filemaker-46/</link>
            <pubDate>Tue, 08 Jun 2010 12:19:24 +0900</pubDate>
            <guid>https://qwerty.work/post/2010/06/filemaker-46/</guid>
            <description>&lt;p&gt;ファイルメーカーで異なるファイル間でフィールドの値を渡すときがありますが、無知な私の場合、クリップボードを使用していました。&lt;/p&gt;&#xA;&lt;p&gt;スクリプトの中身はコピー＆ペーストで行ったりきたり。&lt;/p&gt;&#xA;&lt;p&gt;最近のファイルメーカーは変数が使えますが、WEBのグローバル変数とは違い、ファイルメーカーのグローバル変数はファイル間で使うことができないようです。&lt;/p&gt;&#xA;&lt;p&gt;しかし、スクリプトパラメータを使えば別ファイルにフィールドの値を渡すことができるそうです。&lt;/p&gt;&#xA;&lt;p&gt;やってみたらできた。&lt;/p&gt;&#xA;&lt;h4 id=&#34;値の送り側のファイル&#34;&gt;値の送り側のファイル&#xA;&lt;/h4&gt;&lt;p&gt;スクリプト作成　→　スクリプト実行　→　「指定」ボタン　→　「オプションのスクリプトパラメータ」にフィールドまたは変数を入れる。&lt;/p&gt;&#xA;&lt;h4 id=&#34;値の受け取り側のファイル&#34;&gt;値の受け取り側のファイル&#xA;&lt;/h4&gt;&lt;p&gt;スクリプト作成　→　計算結果を挿入　→　指計算結果「指定」ボタン　→　Get ( スクリプト引数 )　&lt;/p&gt;&#xA;&lt;p&gt;※フィールドの指定もお忘れなく&lt;/p&gt;&#xA;&lt;p&gt; &lt;/p&gt;&#xA;&lt;p&gt;といった感じ。&lt;/p&gt;&#xA;&lt;p&gt; &lt;/p&gt;&#xA;&lt;p&gt;ただし、一つのフィールドの値は簡単ですが、複数のフィールドの値を渡すにはちょっとテクニックが必要なようです。&lt;/p&gt;&#xA;&lt;p&gt;パラメータとして、複数のフィールドや変数の間に適当な区切り文字を入れて送り、受け取り側で区切り文字の間の文字を抽出して各値を抜き取る。&lt;/p&gt;&#xA;&lt;p&gt;みたいな&amp;hellip;。&lt;/p&gt;&#xA;&lt;p&gt; &lt;/p&gt;&#xA;&lt;p&gt;これは後日挑戦してみようとおもいます。&lt;/p&gt;&#xA;&lt;p&gt;というか、もっと簡単に受け渡しができるようになって欲しいです。&lt;/p&gt;&#xA;&lt;p&gt;できればViersion11.5とか12あたりで&amp;hellip;。&lt;/p&gt;&#xA;</description>
        </item></channel>
</rss>
