<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>コマンドプロンプト | ビズドットオンライン</title>
	<atom:link href="https://it-biz.online/tag/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%97%E3%83%AD%E3%83%B3%E3%83%97%E3%83%88/feed/" rel="self" type="application/rss+xml" />
	<link>https://it-biz.online</link>
	<description></description>
	<lastBuildDate>Thu, 22 Feb 2024 06:57:07 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://it-biz.online/wp-content/uploads/2019/10/cropped-4a332f05ade4ac7bb3c46c472cb5eac8-32x32.png</url>
	<title>コマンドプロンプト | ビズドットオンライン</title>
	<link>https://it-biz.online</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>【バッチ】if/elseコマンドを１分でわかりやすく解説</title>
		<link>https://it-biz.online/it-skills/if-else-command/</link>
		
		<dc:creator><![CDATA[ビズドットオンライン]]></dc:creator>
		<pubDate>Mon, 04 Dec 2023 12:00:00 +0000</pubDate>
				<category><![CDATA[Command]]></category>
		<category><![CDATA[IT-Skills]]></category>
		<category><![CDATA[コマンドプロンプト]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://it-biz.online/?p=8603</guid>

					<description><![CDATA[if コマンドは、条件分岐を行うために使用されます。このコマンドを使用することで、特定の条件が真の場合にのみコマンドを実行させることができます。 参考　setlocal / setコマンド システムエンジニアやプログラマ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><code>if</code> コマンドは、<strong>条件分岐</strong>を行うために使用されます。このコマンドを使用することで、特定の条件が真の場合にのみコマンドを実行させることができます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@ECHO OFF
SETLOCAL

REM 数値比較の例
SET /A num=10
IF %num% EQU 10 (
    ECHO 数値は10です。
) ELSE (
    ECHO 数値は10ではありません。
)

REM 文字列比較の例
SET str=Hello
IF "%str%"=="Hello" (
    ECHO 文字列はHelloです。
) ELSE (
    ECHO 文字列はHelloではありません。
)

REM ファイル存在確認の例
IF EXIST "example.txt" (
    ECHO example.txtは存在します。
) ELSE (
    ECHO example.txtは存在しません。
)

REM 複数の条件を組み合わせる例
IF %num% EQU 10 (
    IF "%str%"=="Hello" (
        ECHO 数値は10で、文字列はHelloです。
    ) ELSE (
        ECHO 数値は10ですが、文字列はHelloではありません。
    )
) ELSE (
    ECHO 数値は10ではありません。
)

REM 終了処理
ENDLOCAL</pre>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/it-skills/setlocal/">setlocal</a> / <a href="https://it-biz.online/it-skills/set-command/">setコマンド</a></p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>このページではコマンドプロンプトでの <code><span class="bold-blue">if</span></code> コマンドの基本的な使い方を解説します。</p>
</div></div>



<div class="wp-block-cocoon-blocks-tab-caption-box-1 tab-caption-box block-box cocoon-block-tab-caption-box"><div class="tab-caption-box-label block-box-label box-label fab-edit"><span class="tab-caption-box-label-text block-box-label-text box-label-text">このページで学べる内容</span></div><div class="tab-caption-box-content block-box-content box-content">
<ul class="wp-block-list">
<li>ifコマンドの使い方
<ul class="wp-block-list">
<li>条件分岐の種類（数値比較・文字列比較・ファイル存在確認）</li>
</ul>
</li>



<li>elseコマンドの使い方</li>
</ul>
</div></div>



<p>システムエンジニアやプログラマーであれば<strong><span class="marker-under">知らないと恥ずかしい超・基本知識</span></strong>です。是非最後までご覧ください。</p>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/it-skills/command-abc/">コマンドプロンプト入門</a></p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">ifコマンドの基本</a><ol><li><a href="#toc2" tabindex="0">1. 数値比較</a></li><li><a href="#toc3" tabindex="0">2. 文字列比較</a></li><li><a href="#toc4" tabindex="0">3. ファイルの存在確認</a></li></ol></li><li><a href="#toc5" tabindex="0">else を使用した if 文の構文</a></li><li><a href="#toc6" tabindex="0">if文：複数コマンドの実行</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">ifコマンドの基本</span></h2>



<p><code>if</code> コマンドは、条件分岐を行うために使用されます。<code>if</code> コマンドを使用することで、特定の条件が真の場合にのみコマンドを実行させることが可能。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>基本的な構文は以下の通り。</p>
</div></div>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">IF [条件] [コマンド]</pre>



<p class="has-text-align-center"><span class="badge-blue">ポイント</span>　<strong>条件の種類</strong></p>



<ul class="wp-block-list">
<li><strong>数値比較</strong>
<ul class="wp-block-list">
<li class="is-style-bottom-margin-1em has-bottom-margin">数値が等しい、大きい、小さいなどを比較。</li>
</ul>
</li>



<li><strong>文字列比較</strong>
<ul class="wp-block-list">
<li class="is-style-bottom-margin-1em has-bottom-margin">文字列が等しいかどうかを比較。</li>
</ul>
</li>



<li><strong>ファイルの存在確認</strong>
<ul class="wp-block-list">
<li>指定したファイルが存在するかどうかを確認。</li>
</ul>
</li>
</ul>



<h3 class="wp-block-heading"><span id="toc2">1. 数値比較</span></h3>



<p>数値比較では、２つの数値を比較します。主な演算子には <code>EQU</code> (等しい)、<code>NEQ</code> (等しくない)、<code>LSS</code> (より小さい)、<code>LEQ</code> (以下)、<code>GTR</code> (より大きい)、<code>GEQ</code> (以上) があります。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@ECHO OFF
SETLOCAL

SET /A num1=10
SET /A num2=20

IF %num1% EQU %num2% (
    ECHO %num1% と %num2% は等しい
) ELSE (
    ECHO %num1% と %num2% は等しくない
)

ENDLOCAL

rem 出力結果「10 と 20 は等しくない」</pre>



<h3 class="wp-block-heading"><span id="toc3">2. 文字列比較</span></h3>



<p>文字列比較では、２つの文字列が等しいかどうかを比較。文字列を比較する場合は、変数をダブルクォーテーションで囲むのが一般的です。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@ECHO OFF
SETLOCAL

SET str1=Hello
SET str2=World

IF "%str1%"=="%str2%" (
    ECHO %str1% と %str2% は等しい
) ELSE (
    ECHO %str1% と %str2% は等しくない
)

ENDLOCAL

rem 出力結果「Hello と World は等しくない」</pre>



<h3 class="wp-block-heading"><span id="toc4">3. ファイルの存在確認</span></h3>



<p>ファイルの存在確認では、指定したファイルまたはディレクトリが存在するかどうかを確認します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@ECHO OFF
SETLOCAL

IF EXIST "example.txt" (
    ECHO example.txt は存在します
) ELSE (
    ECHO example.txt は存在しません
)

ENDLOCAL

rem 出力結果「example.txt は存在しません」</pre>



<p>↑の３つサンプルコードは、コマンドプロンプトで <code>if</code> 文を使用する際の基本的な条件の種類と使い方を超・簡単に説明しています。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>実際のスクリプトでは、これらの条件をうまく組み合わせて、より複雑な条件分岐を作成することが可能です。</p>
</div></div>



<h2 class="wp-block-heading"><span id="toc5">else を使用した if 文の構文</span></h2>



<p><code>if</code> 文の基本構造は「もし（if）この条件が真（true）ならば、これを実行する」というものですが、<code>else</code> を追加することで、「<strong><span class="marker-under">もし条件が偽（false）ならば、代わりにこれを実行する</span></strong>」という分岐を作ることができます。</p>



<p>基本的な構文は以下の通り。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">IF [条件] (
    [条件が真の場合に実行するコマンド]
) ELSE (
    [条件が偽の場合に実行するコマンド]
)</pre>



<p>ここで注意が必要なのは、<strong><span class="marker-under"><code>else</code> の前にある閉じ括弧 <code>)</code> と <code>else</code> は同じ行になければならないという点</span></strong>です。このルールを守らないと、スクリプトは正しく動作しません。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>以下のサンプルコードでは、数値の比較を行い、条件に応じて異なるメッセージを出力します。</p>
</div></div>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@ECHO OFF
SETLOCAL

SET /A num=10

IF %num% EQU 10 (
    ECHO 数値は10です。
) ELSE (
    ECHO 数値は10ではありません。
)

ENDLOCAL

rem 出力結果「数値は10です。」</pre>



<p>↑の例では、変数 <code>num</code> が10と等しいかどうかをチェック。条件が真（つまり <code>num</code> が10の場合）ならば、「数値は10です。」と出力し、条件が偽（<code>num</code> が10ではない場合）ならば、「数値は10ではありません。」と出力します。</p>



<p>このように、<code>else</code> を使用することで、条件に応じて異なるアクションを取ることができます。これにより、スクリプトの柔軟性と読みやすさが向上します。また、<code>if</code> 文と <code>else</code> 文は、さらに複雑な条件分岐や繰り返し処理にも利用することができます。</p>



<h2 class="wp-block-heading"><span id="toc6">if文：複数コマンドの実行</span></h2>



<p>if文の条件に一致する際、１つではなく複数のコマンドを実行することも可能です。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">IF [条件] ( 
    [コマンド1]
    [コマンド2]
    ...
) ELSE (
    [別のコマンド1]
    [別のコマンド2]
    ...
)</pre>



<p>1つのコマンドだけ実行する場合と複数のコマンドを実行する場合の違いは、コマンドを括るための<strong>括弧<code><span class="bold-blue">()</span></code>の有無</strong>です。例として、ファイルが存在する場合に2つの異なるメッセージを表示するバッチファイルは以下のようになります。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">IF EXIST example.txt (
    ECHO example.txt exists.
    ECHO Check complete.
)</pre>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box not-nested-style cocoon-block-balloon"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>実行したいコマンドが１つの場合は、括弧は必須ではなく、明示的に括弧を使用してもエラーにはなりません。ただし、通常は括弧なしで書かれます。複数コマンドを実行したい場合にのみ()を記述すればOKです。</p>
</div></div>



<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box memo-box">
<p class="has-text-align-center"><span class="badge-green">まとめ</span>　<strong><code>if</code> コマンドの使い方</strong></p>



<ol class="wp-block-list">
<li><strong>構文ルール</strong>：
<ul class="wp-block-list">
<li><code>IF [条件] [コマンド]</code> </li>
</ul>
</li>



<li><strong>条件の種類</strong>：
<ul class="wp-block-list">
<li>数値比較：等しい、等しくない、より大きい、より小さいなど。</li>



<li>文字列比較：二つの文字列が等しいかどうかを比較。</li>



<li>ファイルの存在確認：ファイルやディレクトリが存在するかどうかを確認。</li>
</ul>
</li>



<li><strong><code>else</code> の使用</strong>：
<ul class="wp-block-list">
<li>条件が偽の場合に実行されるコマンドを指定。</li>



<li><code>IF [条件] ( [コマンド] ) ELSE ( [別のコマンド] )</code> という形式で利用。</li>
</ul>
</li>



<li><strong>応用的な使い方</strong>：
<ul class="wp-block-list">
<li>複数の <code>if</code> 文を組み合わせることで複雑な条件分岐を実現。</li>
</ul>
</li>
</ol>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@ECHO OFF
SETLOCAL

REM 数値比較の例
SET /A num=10
IF %num% EQU 10 (
    ECHO 数値は10です。
) ELSE (
    ECHO 数値は10ではありません。
)

REM 文字列比較の例
SET str=Hello
IF "%str%"=="Hello" (
    ECHO 文字列はHelloです。
) ELSE (
    ECHO 文字列はHelloではありません。
)

REM ファイル存在確認の例
IF EXIST "example.txt" (
    ECHO example.txtは存在します。
) ELSE (
    ECHO example.txtは存在しません。
)

REM 複数の条件を組み合わせる例
IF %num% EQU 10 (
    IF "%str%"=="Hello" (
        ECHO 数値は10で、文字列はHelloです。
    ) ELSE (
        ECHO 数値は10ですが、文字列はHelloではありません。
    )
) ELSE (
    ECHO 数値は10ではありません。
)

REM 終了処理
ENDLOCAL</pre>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【バッチ】forコマンド（繰り返し）を１分でわかりやすく解説</title>
		<link>https://it-biz.online/it-skills/command-for/</link>
		
		<dc:creator><![CDATA[ビズドットオンライン]]></dc:creator>
		<pubDate>Mon, 11 Dec 2023 11:32:55 +0000</pubDate>
				<category><![CDATA[Command]]></category>
		<category><![CDATA[IT-Skills]]></category>
		<category><![CDATA[コマンドプロンプト]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://it-biz.online/?p=8661</guid>

					<description><![CDATA[Windowsバッチファイルにおけるforコマンドは、一連のファイルや文字列に対して繰り返し操作を行うためのコマンドです。このコマンドを使用することで、複雑なタスクを自動化し、手作業を大幅に削減することができます。 参考 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>Windowsバッチファイルにおける<strong><span class="marker-under"><code>for</code>コマンド</span></strong>は、一連のファイルや文字列に対して繰り返し操作を行うためのコマンドです。このコマンドを使用することで、複雑なタスクを自動化し、手作業を大幅に削減することができます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off
for %%f in (*.txt) do (
    echo ファイル名: %%f
)</pre>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/it-skills/command-abc/">コマンドプロンプトとは？</a></p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>IT初心者でも、基本的なコマンドプロンプトの操作に慣れていれば、このコマンドの利用で日常の作業を効率化することが可能です。</p>
</div></div>



<p>この記事では、<code>for</code>コマンドの基本から応用まで、初心者でも理解しやすいように、基本的な概念からスタートし、徐々に複雑な使用例を段階的に解説します。</p>



<div class="wp-block-cocoon-blocks-tab-caption-box-1 tab-caption-box block-box"><div class="tab-caption-box-label block-box-label box-label fab-edit"><span class="tab-caption-box-label-text block-box-label-text box-label-text">この記事で学べる内容</span></div><div class="tab-caption-box-content block-box-content box-content">
<ul class="wp-block-list">
<li><strong>forコマンドとは</strong></li>



<li>forコマンドの構文ルール/使い方</li>



<li>forコマンドを利用する際の注意点・Tips</li>
</ul>
</div></div>



<p>システムエンジニアやプログラマーであれば<strong><span class="marker-under">知らないと恥ずかしい超・基本知識</span></strong>です。是非最後までご覧ください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">forコマンドとは？</a><ol><li><a href="#toc2" tabindex="0">forコマンド：構文ルール</a></li></ol></li><li><a href="#toc3" tabindex="0">forコマンドのオプション</a><ol><li><a href="#toc4" tabindex="0">1. /D オプションの使用例</a></li><li><a href="#toc5" tabindex="0">2. /R オプションの使用例</a></li><li><a href="#toc6" tabindex="0">3. /L オプションの使用例</a></li><li><a href="#toc7" tabindex="0">4. /F オプションの使用例</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">forコマンドとは？</span></h2>



<p><code>for</code>コマンドは、<strong><span class="marker-under">繰り返し処理</span></strong>を行うためのコマンドです。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>このコマンドを使うことで、ファイルの集合、数値の範囲、または文字列のリストに対して、一連のコマンドを繰り返し実行することが可能に。特に、日常的なタスクを自動化する際に<code>for</code>コマンドの効果を最大限に活かすことができます。</p>
</div></div>



<h3 class="wp-block-heading"><span id="toc2">forコマンド：構文ルール</span></h3>



<p><code>for</code>コマンドの基本的な構文は以下の通り。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">for %%変数 in (セット) do コマンド [コマンド引数]</pre>



<ul class="wp-block-list">
<li><code><strong><span class="bold-blue">%%変数</span></strong></code>
<ul class="wp-block-list">
<li>繰り返しの各ステップで使用される変数を表します。</li>
</ul>
</li>



<li><code><strong><span class="bold-blue">(セット)</span></strong></code>
<ul class="wp-block-list">
<li>繰り返しを適用する一連の値やファイル名などを指定します。</li>
</ul>
</li>



<li><code><span class="bold-blue">do</span></code>
<ul class="wp-block-list">
<li>指定されたセットの各要素に対して実行するコマンドを定義します。</li>
</ul>
</li>
</ul>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>さっそくいくつかのサンプルコードを見ていきましょう。</p>
</div></div>



<h4 class="wp-block-heading">例1: ファイル名のリストアップ</h4>



<p>特定のディレクトリ内のすべての<code>.txt</code>ファイルの名前を表示する例です。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off
for %%f in (*.txt) do (
    echo ファイル名: %%f
)

:: ディレクトリ内の各.txtファイルに対して、「ファイル名: ファイル名.txt」と表示されます。</pre>



<h4 class="wp-block-heading">例2: 数値の範囲による繰り返し</h4>



<p>1から5までの数値を表示する例です。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off
for /l %%n in (1,1,5) do (
    echo %%n
)

:: 出力結果
:: 1
:: 2
:: 3
:: 4
:: 5</pre>



<h4 class="wp-block-heading">例3: ファイル内の特定の文字列を検索</h4>



<p>指定されたディレクトリ内の<code>.log</code>ファイル内で「Error」という文字列を含む行を検索します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off
for %%f in (*.log) do (
    find "Error" %%f
)</pre>



<h2 class="wp-block-heading"><span id="toc3">forコマンドのオプション</span></h2>



<p>Windowsバッチファイルにおける<code>for</code>コマンドには、さまざまなオプションが存在し、これらを利用することでコマンドの動作をカスタマイズできます。</p>



<ol class="wp-block-list">
<li><code><span class="bold-blue">/D</span></code> - ディレクトリに対する繰り返しを行います。</li>



<li><code><span class="bold-blue">/R</span></code> - ディレクトリ構造を再帰的に処理します。</li>



<li><code><span class="bold-blue">/L</span></code> - 数値の範囲に基づいて繰り返しを行います。</li>



<li><code><span class="bold-blue">/F</span></code> - ファイルまたはコマンドの出力から読み取った結果に基づいて繰り返しを行います。</li>
</ol>



<h3 class="wp-block-heading"><span id="toc4">1. /D オプションの使用例</span></h3>



<p>現在のディレクトリにあるすべてのサブディレクトリの名前を表示します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off
for /D %%d in (*) do (
    echo ディレクトリ: %%d
)</pre>



<h3 class="wp-block-heading"><span id="toc5">2. /R オプションの使用例</span></h3>



<p>特定のディレクトリ（ここでは<code>C:\Example</code>）とそのサブディレクトリ内のすべての<code>.txt</code>ファイルを検索します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off
for /R C:\Example %%f in (*.txt) do (
    echo 発見されたファイル: %%f
)</pre>



<h3 class="wp-block-heading"><span id="toc6">3. /L オプションの使用例</span></h3>



<p>1から10までの数値を表示します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off
for /L %%n in (1,1,10) do (
    echo %%n
)</pre>



<h3 class="wp-block-heading"><span id="toc7">4. /F オプションの使用例</span></h3>



<p>特定のファイル（ここでは<code>filelist.txt</code>）から読み取った各行に対して繰り返し処理を行います。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off
for /F "delims=" %%l in (filelist.txt) do (
    echo 行: %%l
)</pre>



<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box memo-box">
<p class="has-text-align-center"><span class="badge-green">まとめ</span>　<strong>forコマンドとは？</strong></p>



<ul class="wp-block-list">
<li><strong>繰り返し処理の実行</strong>
<ul class="wp-block-list">
<li>特定のコマンドを一連のファイル、数値、または文字列に対して繰り返し実行する。</li>
</ul>
</li>



<li><strong>自動化の強化</strong>
<ul class="wp-block-list">
<li>複雑なタスクを効率的に自動化するために使用される。</li>
</ul>
</li>



<li><strong>柔軟性</strong>
<ul class="wp-block-list">
<li>ファイルの一覧表示、テキストの検索、数値の範囲での繰り返し等、様々なシナリオに対応。</li>
</ul>
</li>



<li><strong>オプションの多様性</strong>
<ul class="wp-block-list">
<li>異なるオプション（/D, /R, /L, /F等）を使用して、さまざまなタイプの繰り返し処理を実行することが可能。</li>
</ul>
</li>
</ul>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off
for %%f in (*.txt) do (
    echo ファイル名: %%f
)</pre>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【バッチ】callコマンド：サブルーチンを３分でマスター</title>
		<link>https://it-biz.online/it-skills/call/</link>
		
		<dc:creator><![CDATA[ビズドットオンライン]]></dc:creator>
		<pubDate>Fri, 08 Dec 2023 08:04:02 +0000</pubDate>
				<category><![CDATA[Command]]></category>
		<category><![CDATA[IT-Skills]]></category>
		<category><![CDATA[コマンドプロンプト]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://it-biz.online/?p=8655</guid>

					<description><![CDATA[サブルーチンは、繰り返し使用されるコードブロックを一箇所にまとめ、必要に応じて何度も呼び出すことを可能にする仕組み。 参考　ABAPにおけるサブルーチン サブルーチンを利用することで、①コードの再利用性が高まり、②読みや [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><strong>サブルーチン</strong>は、繰り返し使用されるコードブロックを一箇所にまとめ、必要に応じて何度も呼び出すことを可能にする仕組み。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off
CALL :StartProcess
CALL :CheckStatus
CALL :EndProcess
goto :eof

:StartProcess
echo プロセスを開始します...
exit /b

:CheckStatus
echo ステータスを確認中...
exit /b

:EndProcess
echo プロセスを終了します...
exit /b</pre>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>何度も呼び出して利用できるプログラムの「部品」のようなもの。</p>
</div></div>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/sap/subroutine/">ABAPにおけるサブルーチン</a></p>



<p>サブルーチンを利用することで、①コードの再利用性が高まり、②読みやすさの向上、③保守のしやすさの向上が見込まれます。特に、複雑なスクリプトを扱う際には、サブルーチンを使うことで、効率的かつ効果的なコード管理が可能になります。</p>



<p>この記事では、バッチファイルにおけるサブルーチンの作成と呼び出しの基本から、より高度なテクニックまでをステップバイステップで解説します。IT初心者の方でも理解しやすいように、基本的な概念から始めて、徐々に具体的な応用例を解説します。</p>



<div class="wp-block-cocoon-blocks-tab-caption-box-1 tab-caption-box block-box"><div class="tab-caption-box-label block-box-label box-label fab-edit"><span class="tab-caption-box-label-text block-box-label-text box-label-text">このページで学べる内容</span></div><div class="tab-caption-box-content block-box-content box-content">
<ul class="wp-block-list">
<li>サブルーチンとは？</li>



<li>サブルーチンの作成方法</li>



<li>サブルーチンの呼び出し方：<strong>callコマンド</strong></li>



<li>実践例</li>
</ul>
</div></div>



<p>システムエンジニアやプログラマーであれば<strong><span class="marker-under">知らないと恥ずかしい超・基本知識</span></strong>です。是非最後までご覧ください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">サブルーチンとは？</a></li><li><a href="#toc2" tabindex="0">サブルーチンの作成方法</a><ol><li><a href="#toc3" tabindex="0">サブルーチンの終了</a></li></ol></li><li><a href="#toc4" tabindex="0">サブルーチンの呼び出し方</a><ol><li><a href="#toc5" tabindex="0">CALL コマンドによる呼び出し</a></li><li><a href="#toc6" tabindex="0">引数の渡し方</a></li></ol></li><li><a href="#toc7" tabindex="0">サブルーチン：callコマンドのサンプルコード</a><ol><li><a href="#toc8" tabindex="0">例1: ファイル操作の自動化</a></li><li><a href="#toc9" tabindex="0">例2: ユーザー入力に基づくアクション</a></li><li><a href="#toc10" tabindex="0">例3: 複数のサブルーチンを組み合わせる</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">サブルーチンとは？</span></h2>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>この章では、サブルーチンの基本的な概念とその使用法について解説します。</p>
</div></div>



<p>バッチファイルのプログラミングにおいて、サブルーチンはコードの再利用性と整理を助ける重要な要素です。</p>



<p>サブルーチンは、一連のコマンドまたは命令を<strong><span class="marker-under">カプセル化したコードブロック</span></strong>（＝プログラムの部品）です。これにより、スクリプト内の異なる場所から同じコードブロックを再利用することが可能になります。</p>



<figure class="wp-block-image aligncenter size-large"><img fetchpriority="high" decoding="async" width="800" height="469" src="https://it-biz.online/wp-content/uploads/2023/12/image-11-800x469.png" alt="サブルーチンとは" class="wp-image-8658" srcset="https://it-biz.online/wp-content/uploads/2023/12/image-11-800x469.png 800w, https://it-biz.online/wp-content/uploads/2023/12/image-11-500x293.png 500w, https://it-biz.online/wp-content/uploads/2023/12/image-11-300x176.png 300w, https://it-biz.online/wp-content/uploads/2023/12/image-11-768x450.png 768w, https://it-biz.online/wp-content/uploads/2023/12/image-11.png 810w" sizes="(max-width: 800px) 100vw, 800px" /><figcaption class="wp-element-caption">図1：サブルーチン</figcaption></figure>



<p>サブルーチンは、コードの整理と読みやすさを向上させるのに役立ち、複雑なスクリプトをより管理しやすくします。</p>



<p class="has-text-align-center"><span class="badge-blue">ポイント</span>　<strong>サブルーチンを利用するメリット</strong></p>



<ul class="wp-block-list">
<li><strong>再利用性</strong>
<ul class="wp-block-list">
<li>サブルーチンを使用することで、同じコードを何度も書く必要がなくなります。結果として効率的にプログラミングすることが可能になります。</li>
</ul>
</li>



<li><strong>メンテナンスの容易さ</strong>
<ul class="wp-block-list">
<li>コードの一部分を変更する必要がある場合、サブルーチン内での変更だけで済むため、全体的なメンテナンスが容易になります。</li>
</ul>
</li>



<li><strong>可読性の向上</strong>
<ul class="wp-block-list">
<li>サブルーチンを使用することで、コードがより構造化され、他の人が理解しやすくなります。</li>
</ul>
</li>
</ul>



<h2 class="wp-block-heading"><span id="toc2">サブルーチンの作成方法</span></h2>



<p>バッチファイルにおけるサブルーチンは、ラベルを使用して定義。ラベルは<strong><span class="marker-under">コロン（<code>:</code>）</span></strong>に続く名前で表され、その後に実行する一連のコマンドを記述します。</p>



<p>例えば、<code>:MySubroutine</code> は「MySubroutine」という名前のサブルーチンの開始を示します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">:MySubroutine
echo これはサブルーチンの例です</pre>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>このラベルを使用して、サブルーチンの開始点を指定し、その後に実行したいコマンドを記述します。</p>
</div></div>



<h3 class="wp-block-heading"><span id="toc3">サブルーチンの終了</span></h3>



<p>サブルーチンの終わりは、<code>exit /b</code> コマンドを使用して明示的に指定します。これにより、サブルーチンの実行が終了し、呼び出し元のコードに制御が戻ります。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">:MySubroutine
echo これはサブルーチンです
exit /b</pre>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>このように、サブルーチン内のコマンドを実行した後に <code>exit /b</code> コマンドを使用することで、サブルーチンからの適切な「出口」を確保します。</p>
</div></div>



<h2 class="wp-block-heading"><span id="toc4">サブルーチンの呼び出し方</span></h2>



<p>作成したサブルーチンを実際に使用するためには、callコマンドを用います。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>このセクションでは、バッチファイル内でサブルーチンを呼び出す方法について詳しく解説します。</p>
</div></div>



<h3 class="wp-block-heading"><span id="toc5">CALL コマンドによる呼び出し</span></h3>



<p><code>CALL</code> コマンドは、指定されたラベルに制御を移し、サブルーチンの実行を開始します。サブルーチンの実行が完了すると、呼び出し元のスクリプトの次の行から実行が続けられます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">CALL :MySubroutine
echo サブルーチンの実行後に表示されます

:MySubroutine
echo これはサブルーチンです
exit /b


:: 出力結果
:: これはサブルーチンです
:: サブルーチンの実行後に表示されます</pre>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>この例では、<code>:MySubroutine</code> ラベルに付けられたサブルーチンが <code>CALL</code> コマンドによって呼び出され、その後に続くコマンドがサブルーチンの実行後に実行されます。</p>
</div></div>



<h3 class="wp-block-heading"><span id="toc6">引数の渡し方</span></h3>



<p>サブルーチンには引数を渡すことも可能です。これにより、サブルーチンの動作を動的に変更することができます。引数は <code>CALL</code> コマンドの後に指定し、サブルーチン内では <code>%1</code>, <code>%2</code> などの特殊変数を使用してアクセスします。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">CALL :MySubroutine 引数1 引数2

:MySubroutine
echo 引数1: %1
echo 引数2: %2
exit /b

:: 出力結果
:: 引数1: 引数1
:: 引数2: 引数2</pre>



<div class="wp-block-cocoon-blocks-tab-caption-box-1 tab-caption-box block-box"><div class="tab-caption-box-label block-box-label box-label fab-lightbulb"><span class="tab-caption-box-label-text block-box-label-text box-label-text">サブルーチンと関数の違い</span></div><div class="tab-caption-box-content block-box-content box-content">
<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>サブルーチンと<a href="https://it-biz.online/it-skills/function-abc/">関数</a>はほぼ同じものだと考えてOKですが、完全に同一の概念ではありません。それぞれの違いを以下に簡潔に説明します。</p>
</div></div>



<ol class="wp-block-list">
<li><strong>サブルーチン</strong>
<ul class="wp-block-list">
<li>サブルーチンは、特定のタスクを実行するコードのブロック。</li>



<li>バッチファイルや古いプログラミング言語でよく利用されるイメージ。</li>



<li>サブルーチンは通常、値を返さず、プログラム内の特定の処理を単に実行することに焦点を当てている。</li>
</ul>
</li>



<li><strong>関数</strong>
<ul class="wp-block-list">
<li>関数もサブルーチンと同様に、特定のタスクを実行するコードのブロック。</li>



<li>そのうえで、関数は通常、<strong><span class="marker-under">処理の結果として値を返します</span></strong>ものを指す場合が多い。この「戻り値」は、関数が呼び出された場所で利用できます。</li>



<li>現代のプログラミング言語では、関数はデータを操作し、結果を返すことが一般的です。</li>
</ul>
</li>
</ol>



<figure class="wp-block-image aligncenter size-full"><img decoding="async" width="704" height="406" src="https://it-biz.online/wp-content/uploads/2023/12/image-12.png" alt="サブルーチンと関数" class="wp-image-8659" srcset="https://it-biz.online/wp-content/uploads/2023/12/image-12.png 704w, https://it-biz.online/wp-content/uploads/2023/12/image-12-500x288.png 500w, https://it-biz.online/wp-content/uploads/2023/12/image-12-300x173.png 300w" sizes="(max-width: 704px) 100vw, 704px" /></figure>
</div></div>



<h2 class="wp-block-heading"><span id="toc7">サブルーチン：callコマンドのサンプルコード</span></h2>



<p>ここまででサブルーチンの基本を理解できたと思いますので、ここからは実際の応用例を通じてその使い方を深めていきましょう。バッチファイル内でサブルーチンを活用するいくつかの具体的な例を紹介します。</p>



<h3 class="wp-block-heading"><span id="toc8">例1: ファイル操作の自動化</span></h3>



<p>サブルーチンは、ファイル操作などの反復的なタスクを自動化するのに特に有用です。例えば、特定のディレクトリ内のファイルをバックアップするサブルーチンを考えてみましょう。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off
CALL :BackupFiles "C:\MyDocuments"
CALL :BackupFiles "D:\OtherDocuments"
goto :eof

:BackupFiles
xcopy %1 "E:\Backup\%~nx1" /E /I
echo %1 のバックアップが完了しました。
exit /b</pre>



<ul class="wp-block-list">
<li><code>:BackupFiles</code> サブルーチンは、指定されたディレクトリ（例えば <code>"C:\MyDocuments"</code>）の内容を <code>"E:\Backup\MyDocuments"</code> にコピーする部品。</li>



<li>スクリプトは、<code>"D:\OtherDocuments"</code> ディレクトリに対しても同じ操作を行います。</li>



<li>各操作の終了後には、<code>echo</code> コマンドにより「バックアップが完了しました」というメッセージが表示されます。</li>
</ul>



<h3 class="wp-block-heading"><span id="toc9">例2: ユーザー入力に基づくアクション</span></h3>



<p>ユーザーからの入力に基づいて、異なるサブルーチンを実行する例です。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off
set /p UserInput=操作を選択してください（1: ファイル表示, 2: 現在時刻表示）: 
if %UserInput%==1 CALL :ShowFiles
if %UserInput%==2 CALL :ShowTime
goto :eof

:ShowFiles
dir
exit /b

:ShowTime
time /T
exit /b</pre>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/it-skills/set-command/">setコマンド</a> / <a href="https://it-biz.online/it-skills/if-else-command/">ifコマンド</a></p>



<ul class="wp-block-list">
<li>ユーザーが <code>1</code> を入力すると、<code>:ShowFiles</code> サブルーチンが呼び出され、ディレクトリの内容が表示されます。</li>



<li><code>2</code> を入力すると、<code>:ShowTime</code> サブルーチンが呼び出され、現在の時刻が表示されます。</li>
</ul>



<h3 class="wp-block-heading"><span id="toc10">例3: 複数のサブルーチンを組み合わせる</span></h3>



<p>複数のサブルーチンを組み合わせて、より複雑なタスクを実行する例です。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off
CALL :StartProcess
CALL :CheckStatus
CALL :EndProcess
goto :eof

:StartProcess
echo プロセスを開始します...
exit /b

:CheckStatus
echo ステータスを確認中...
exit /b

:EndProcess
echo プロセスを終了します...
exit /b</pre>



<ul class="wp-block-list">
<li>このスクリプトでは、<code>:StartProcess</code>, <code>:CheckStatus</code>, <code>:EndProcess</code> の3つのサブルーチンを順番に呼び出します。</li>



<li>各サブルーチンは特定のメッセージ（例：「プロセスを開始します...」）を表示し、プロセスの流れを示します。</li>
</ul>



<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box memo-box">
<p class="has-text-align-center"><span class="badge-green">まとめ</span>　<strong>この記事の要約</strong></p>



<p>ポイント１　<strong>サブルーチンとは？</strong></p>



<ul class="wp-block-list">
<li>サブルーチンは、繰り返し使用される一連のコマンドを一箇所にまとめたコードブロックです。</li>



<li>再利用性とコードの整理に役立ち、複数の場所から同じコードを呼び出すことができます。</li>
</ul>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">:MySubroutine
echo これはサブルーチンです。
exit /b</pre>



<p><strong><code>CALL</code> コマンドとは？</strong></p>



<ul class="wp-block-list">
<li><code>CALL</code> コマンドは、バッチファイル内で定義されたサブルーチンを呼び出すために使用されます。</li>



<li>サブルーチンの実行後、制御は <code>CALL</code> コマンドの次の行に戻ります。</li>
</ul>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">CALL :MySubroutine
echo サブルーチンの後に実行されるコマンド。</pre>



<p><strong>使い方は？</strong></p>



<ul class="wp-block-list">
<li>サブルーチンは、ラベル（<code>:</code>に続く名前）で定義し、<code>CALL</code> コマンドで呼び出します。</li>



<li>引数を渡してサブルーチンの動作を変えることも可能です。</li>
</ul>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">CALL :MySubroutine 引数1 引数2
:MySubroutine
echo 引数1: %1
echo 引数2: %2
exit /b</pre>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【バッチ】コマンドプロンプト入門：基本的な使い方と概要を１分で解説</title>
		<link>https://it-biz.online/it-skills/command-abc/</link>
		
		<dc:creator><![CDATA[ビズドットオンライン]]></dc:creator>
		<pubDate>Tue, 21 Nov 2023 03:36:32 +0000</pubDate>
				<category><![CDATA[Command]]></category>
		<category><![CDATA[IT-Skills]]></category>
		<category><![CDATA[コマンドプロンプト]]></category>
		<guid isPermaLink="false">https://it-biz.online/?p=8574</guid>

					<description><![CDATA[コマンドプロンプトとは、WindowsのOS内でテキストベースのコマンドを使用してコンピューターへ命令を出すCUIツールのこと。 参考　CUIとは？（GUIとは？） コマンドプロンプトをうまく活用することで、ファイル操作 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><strong>コマンドプロンプト</strong>とは、WindowsのOS内でテキストベースのコマンドを使用してコンピューターへ命令を出すCUIツールのこと。</p>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/it-skills/gui-cui/">CUIとは？（GUIとは？）</a></p>



<p>コマンドプロンプトをうまく活用することで、ファイル操作 / システムの設定変更 / トラブルシューティングなど、様々なタスクを効率的に実行することが可能になります。</p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" width="800" height="265" src="https://it-biz.online/wp-content/uploads/2023/11/image-8-800x265.png" alt="コマンドプロンプトとは" class="wp-image-8577" srcset="https://it-biz.online/wp-content/uploads/2023/11/image-8-800x265.png 800w, https://it-biz.online/wp-content/uploads/2023/11/image-8-500x166.png 500w, https://it-biz.online/wp-content/uploads/2023/11/image-8-300x99.png 300w, https://it-biz.online/wp-content/uploads/2023/11/image-8-768x255.png 768w, https://it-biz.online/wp-content/uploads/2023/11/image-8.png 1312w" sizes="(max-width: 800px) 100vw, 800px" /><figcaption class="wp-element-caption">図1：コマンドプロンプト</figcaption></figure>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>IT初心者にとってコマンドプロンプトは少しとっつきにくいイメージがあるかもしれませんが、使いこなせるようになると「できることの幅」がグッと広がります。</p>
</div></div>



<p class="has-text-align-center"><span class="badge-blue">ポイント</span>　<strong>コマンドプロンプトを使いこなすメリット</strong></p>



<ol class="wp-block-list">
<li><strong>効率化と自動化</strong>
<ul class="wp-block-list">
<li>繰り返し行う作業をスクリプト化し、作業の速度と効率を高めることができるようになる。</li>
</ul>
</li>



<li><strong>システム理解の深化</strong>
<ul class="wp-block-list">
<li>コンピューターの基本的な動作原理を学び、より深い技術的な理解を培うことができるようになる。</li>
</ul>
</li>



<li><strong>高度な機能へのアクセス</strong>
<ul class="wp-block-list">
<li>グラフィカルインターフェースでは利用できない、より高度なシステム設定や機能にアクセスできるようになる。</li>
</ul>
</li>
</ol>



<p>この記事では、コマンドプロンプトの基本から始めて、まずはコマンドプロンプトとは何か、基本的な開き方と概要について解説します。</p>



<div class="wp-block-cocoon-blocks-tab-caption-box-1 tab-caption-box block-box"><div class="tab-caption-box-label block-box-label box-label fab-edit"><span class="tab-caption-box-label-text block-box-label-text box-label-text">この記事で学べる内容</span></div><div class="tab-caption-box-content block-box-content box-content">
<div class="wp-block-cocoon-blocks-iconlist-box iconlist-box blank-box list-caret-right block-box"><div class="iconlist-title"></div>
<ul class="wp-block-list">
<li>コマンドプロンプトとは何か？</li>



<li>コマンドプロンプトの基本的な使い方</li>
</ul>
</div>
</div></div>



<p>システムエンジニアやプログラマーであれば<strong><span class="marker-under">知らないと恥ずかしい超・基本知識</span></strong>です。是非最後までご覧ください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">コマンドプロンプトとは</a></li><li><a href="#toc2" tabindex="0">コマンドプロンプトの使い方</a></li><li><a href="#toc3" tabindex="0">コマンドプロンプトでできること</a><ol><li><a href="#toc4" tabindex="0">dir - ディレクトリの内容を表示</a></li><li><a href="#toc5" tabindex="0">cd - カレントディレクトリの変更</a></li><li><a href="#toc6" tabindex="0">mkdir - 新しいディレクトリの作成</a></li><li><a href="#toc7" tabindex="0">rmdir - ディレクトリの削除</a></li><li><a href="#toc8" tabindex="0">copy - ファイルのコピー</a></li><li><a href="#toc9" tabindex="0">del - ファイルの削除</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">コマンドプロンプトとは</span></h2>



<p>コマンドプロンプトとは、Windowsのオペレーティングシステムで使用される<strong>テキストベースのインターフェース</strong>のこと。</p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" width="800" height="265" src="https://it-biz.online/wp-content/uploads/2023/11/image-8-800x265.png" alt="コマンドプロンプトとは" class="wp-image-8577" srcset="https://it-biz.online/wp-content/uploads/2023/11/image-8-800x265.png 800w, https://it-biz.online/wp-content/uploads/2023/11/image-8-500x166.png 500w, https://it-biz.online/wp-content/uploads/2023/11/image-8-300x99.png 300w, https://it-biz.online/wp-content/uploads/2023/11/image-8-768x255.png 768w, https://it-biz.online/wp-content/uploads/2023/11/image-8.png 1312w" sizes="(max-width: 800px) 100vw, 800px" /><figcaption class="wp-element-caption">図1：コマンドプロンプト</figcaption></figure>



<p>コマンドプロンプトを使いこなすことが可能になると、様々なコマンドを使用して、コンピューター上で様々なタスクを実行することが可能になります。コマンドプロンプトは、<strong>UNIXやLinuxのターミナルに相当するもの</strong>で、主にシステム管理、ファイル操作、ソフトウェアの実行、ネットワーク設定のような操作に利用されます。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>コマンドプロンプトは、IT初心者にとってはやや複雑に感じられるかもしれませんが、基本的な使い方を理解することで、Windowsの操作においてより高度なコントロールを行うことができます。</p>
</div></div>



<p>マウス操作だけでは実現できない「<strong>繰り返し処理</strong>」や「<strong>自動化</strong>」などが可能になるため、業務効率化に役立ちます。</p>



<p class="has-text-align-center"><span class="badge-blue">ポイント</span>　<strong>コマンドプロンプトの仕組み</strong></p>



<ol class="wp-block-list">
<li><strong>テキストベースのインターフェース</strong>
<ul class="wp-block-list">
<li>ユーザーはコマンドラインにコマンドをタイプし、Enterキーを押して実行します。</li>
</ul>
</li>



<li><strong>コマンドの解析</strong>
<ul class="wp-block-list">
<li>入力されたコマンドは、コマンドプロンプトによって解析され、適切なアクションが取られます。</li>
</ul>
</li>



<li><strong>実行とフィードバック</strong>
<ul class="wp-block-list">
<li>コマンドが実行された後、結果はテキスト形式でコマンドプロンプトウィンドウに表示されます。</li>
</ul>
</li>
</ol>



<h2 class="wp-block-heading"><span id="toc2">コマンドプロンプトの使い方</span></h2>



<p>スタートメニューから「<strong>cmd</strong>」と入力するか、「Windowsキー + R」を押して「cmd」と入力し、Enterキーを押すと以下のような画面が立ち上がります。</p>



<figure class="wp-block-image aligncenter size-large"><img decoding="async" width="800" height="265" src="https://it-biz.online/wp-content/uploads/2023/11/image-8-800x265.png" alt="コマンドプロンプトとは" class="wp-image-8577" srcset="https://it-biz.online/wp-content/uploads/2023/11/image-8-800x265.png 800w, https://it-biz.online/wp-content/uploads/2023/11/image-8-500x166.png 500w, https://it-biz.online/wp-content/uploads/2023/11/image-8-300x99.png 300w, https://it-biz.online/wp-content/uploads/2023/11/image-8-768x255.png 768w, https://it-biz.online/wp-content/uploads/2023/11/image-8.png 1312w" sizes="(max-width: 800px) 100vw, 800px" /><figcaption class="wp-element-caption">図1：コマンドプロンプト</figcaption></figure>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>コマンドを入力してEnterキーを押すと、そのコマンドが実行され、結果が表示される仕組み。</p>
</div></div>



<p>つまり、あとはファイルを操作したりディレクトリを作成したりする「コマンド」を学習すれば、あなたもコマンドプロンプト使いの１人になれます。</p>



<p class="has-text-align-center"><span class="badge-red">注意点</span></p>



<ul class="wp-block-list">
<li>コマンドプロンプトは強力なツールである（やろうと思えばなんでもできてしまう）ため、不適切なコマンドはシステムに重大な影響を及ぼす可能性があります。</li>



<li>初心者は慣れるまで慎重に操作し、わからないコマンドは実行前に十分に調査することが重要。</li>
</ul>



<h2 class="wp-block-heading"><span id="toc3">コマンドプロンプトでできること</span></h2>



<p>ここからは簡単なコマンドをご紹介しつつ、コマンドプロンプトでできることのご紹介をします。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>実際に自分のPCでコマンドプロンプトを開いて実行してみてください。</p>
</div></div>



<h3 class="wp-block-heading"><span id="toc4">dir - ディレクトリの内容を表示</span></h3>



<p><strong>dir</strong>コマンドは、現在のディレクトリに含まれるファイルとサブディレクトリの一覧を表示します。このコマンドを実行すると、現在のディレクトリ内のファイルとフォルダーが一覧表示されます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">C:\Users\YourName> dir

Volume in drive C is Windows
Volume Serial Number is XXXX-XXXX

Directory of C:\Users\YourName

01/01/2023  09:00 AM    &lt;DIR>          Documents
01/01/2023  09:00 AM    &lt;DIR>          Downloads
01/01/2023  09:00 AM    &lt;DIR>          Pictures
01/01/2023  09:00 AM                 0 file.txt
               1 File(s)              0 bytes
               3 Dir(s)  XXXXXXXXX bytes free</pre>



<h3 class="wp-block-heading"><span id="toc5">cd - カレントディレクトリの変更</span></h3>



<p><strong>cd</strong>（change directory）コマンドは、現在の作業ディレクトリを変更するために使用されます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">C:\Users\YourName> cd Documents
C:\Users\YourName\Documents></pre>



<p>この例では、作業ディレクトリ（カレントディレクトリ）を<code>Documents</code>フォルダーに変更しています。</p>



<h3 class="wp-block-heading"><span id="toc6">mkdir - 新しいディレクトリの作成</span></h3>



<p>新しいディレクトリ（フォルダー）を作成するには、<strong>mkdir</strong>コマンドを使用します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">C:\Users\YourName> mkdir NewFolder

C:\Users\YourName> dir

Directory of C:\Users\YourName
01/01/2023  09:01 AM    &lt;DIR>          NewFolder</pre>



<p>上記の例では、<code>NewFolder</code>という名前の新しいディレクトリが作成されます。</p>



<h3 class="wp-block-heading"><span id="toc7">rmdir - ディレクトリの削除</span></h3>



<p>ディレクトリを削除するには、<code>rmdir</code>または<code>rd</code>コマンドを使用します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">C:\Users\YourName> rmdir NewFolder</pre>



<p>ディレクトリ <code>NewFolder</code> が削除され、<code>dir</code> コマンドで表示されなくなります。</p>



<h3 class="wp-block-heading"><span id="toc8">copy - ファイルのコピー</span></h3>



<p>ファイルをコピーするには、<code>copy</code>コマンドを使用します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">C:\Users\YourName> copy file.txt D:\Backup\file.txt</pre>



<p>↑は、<code>file.txt</code>を<code>D:\Backup\</code>ディレクトリにコピーします。</p>



<h3 class="wp-block-heading"><span id="toc9">del - ファイルの削除</span></h3>



<p>ファイルを削除するには、<code>del</code>コマンドを使用します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">C:\Users\YourName> del file.txt</pre>



<p>このコマンドは、<code>file.txt</code>ファイルを削除します。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>ここで紹介したコマンドはコマンドプロンプトで最も一般的に使用される基本的なコマンドです。これらのコマンドを使いこなすことで、Windowsのファイルシステムをより効率的に操作することができます。</p>
</div></div>



<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box memo-box">
<p class="has-text-align-center"><span class="badge-green">まとめ</span>　<strong>コマンドプロンプトとは</strong></p>



<ul class="wp-block-list">
<li>コマンドプロンプトはWindowsのテキストベースのインターフェースのこと。</li>



<li>ユーザーはテキストコマンドを入力して様々な操作を実行することが可能。
<ul class="wp-block-list">
<li>自動化や繰り返し処理を行うことが可能になる。</li>
</ul>
</li>
</ul>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【バッチ】遅延環境変数展開（enabledelayedexpansion）を１分でわかりやすく解説</title>
		<link>https://it-biz.online/it-skills/enabledelayedexpansion/</link>
		
		<dc:creator><![CDATA[ビズドットオンライン]]></dc:creator>
		<pubDate>Tue, 28 Nov 2023 02:59:30 +0000</pubDate>
				<category><![CDATA[Command]]></category>
		<category><![CDATA[IT-Skills]]></category>
		<category><![CDATA[コマンドプロンプト]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://it-biz.online/?p=8580</guid>

					<description><![CDATA[遅延環境変数展開：「enabledelayedexpansion」コマンドは、バッチファイル内で変数の遅延展開を有効にするために使用されるコマンドです。 この機能を利用することで、ループ内などで変数の値を動的に更新し、そ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>遅延環境変数展開：「<strong>enabledelayedexpansion</strong>」コマンドは、バッチファイル内で<a href="https://it-biz.online/it-skills/variable/">変数</a>の遅延展開を有効にするために使用されるコマンドです。</p>



<p>この機能を利用することで、ループ内などで変数の値を動的に更新し、その更新された値をリアルタイムで参照する際に特に役立ちます。</p>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/it-skills/command-abc/">コマンドプロンプトとは？</a></p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>通常、コマンドプロンプトでは変数はバッチファイルが読み込まれる時点で<strong>展開</strong>されますが、「setlocal enabledelayedexpansion」を使用すると、変数はコマンドが実行されるタイミングで展開されるようになります。</p>
</div></div>



<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box memo-box">
<p class="has-text-align-center"><span class="badge-green">用語</span>　<strong>展開</strong></p>



<p>スクリプトやプログラミングにおいて、「展開」とは、変数や式がその実際の値または結果に置き換わるプロセスのこと。例えば、変数に格納された数値や文字列が、スクリプトの実行時にその変数を参照する場所でその具体的な内容に置き換えられることを指します。</p>
</div>



<p>このページではコマンドプロンプトにおける変数の取り扱いと、<strong>setlocal enabledelayedexpansion</strong>の役割について初心者向けにわかりやすく簡潔にご説明します。</p>



<div class="wp-block-cocoon-blocks-tab-caption-box-1 tab-caption-box block-box"><div class="tab-caption-box-label block-box-label box-label fab-edit"><span class="tab-caption-box-label-text block-box-label-text box-label-text">このページで学べる内容</span></div><div class="tab-caption-box-content block-box-content box-content">
<div class="wp-block-cocoon-blocks-iconlist-box iconlist-box blank-box list-caret-right block-box"><div class="iconlist-title"></div>
<ul class="wp-block-list">
<li>コマンドプロンプトにおける「変数」の取り扱い
<ul class="wp-block-list">
<li>通常の変数の取り扱い</li>



<li>遅延展開された変数の取り扱い</li>
</ul>
</li>



<li><strong>setlocal enabledelayedexpansion</strong>　を利用したサンプルコード
<ul class="wp-block-list">
<li>遅延展開を利用する際の注意点</li>
</ul>
</li>
</ul>
</div>
</div></div>



<p>システムエンジニアやプログラマーであれば<strong><span class="marker-under">知らないと恥ずかしい基本知識</span></strong>です。是非最後までご覧ください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-10" checked><label class="toc-title" for="toc-checkbox-10">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">setlocal enabledelayedexpansion とは？</a><ol><li><a href="#toc2" tabindex="0">通常の変数の取り扱い</a></li><li><a href="#toc3" tabindex="0">Delayed Expansionの使用</a></li></ol></li><li><a href="#toc4" tabindex="0">setlocal enabledelayedexpansion （遅延展開）の注意点</a><ol><li><a href="#toc5" tabindex="0">1. 遅延展開を使った変数の更新</a></li><li><a href="#toc6" tabindex="0">２. ローカル環境の使用</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">setlocal enabledelayedexpansion とは？</span></h2>



<p>「setlocal enabledelayedexpansion」コマンドは、<strong>変数の展開方法を変更するために使用</strong>されます。</p>



<p>基本的に、コマンドプロンプトでは変数はその場で展開されますが「setlocal enabledelayedexpansion」を使用すると、変数はコマンドが実行されるタイミングで展開されるようになります。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>↑の説明だけではなかなかピンと来ない方もいるかと思いますので、setlocal enabledelayedexpansion を利用する場合/利用しない場合、それぞれに分けてご説明いたします。</p>
</div></div>



<h3 class="wp-block-heading"><span id="toc2">通常の変数の取り扱い</span></h3>



<p>通常、バッチファイルで変数は <code><span class="marker-under">%変数名%</span></code> の形で使用され、この場合の変数は<strong><span class="marker-under">バッチファイルが読み込まれる時点</span></strong>での値に置き換えられます。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>例えば↓のコードでは、最初に <code>VAR</code> に <code>1</code> が代入され、その後 <code>2</code> に変更されますが、両方の <code>echo</code> コマンドは同じ値 <code>1</code> を出力します。</p>
</div></div>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off
set VAR=1
echo %VAR%
set VAR=2
echo %VAR%</pre>



<h3 class="wp-block-heading"><span id="toc3">Delayed Expansionの使用</span></h3>



<p><code>setlocal enabledelayedexpansion</code> を使用すると、変数は <code><span class="marker-under">!変数名!</span></code> の形で記述され、<strong><span class="marker-under">コマンドが実行されるタイミングで変数が展開</span></strong>されます。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>↓のコードでは、<code>VAR</code> に最初に <code>1</code> が代入され、次に <code>2</code> が代入されます。<code>echo</code> コマンドは、それぞれの行で <code>VAR</code> の現在の値（<code>1</code> と <code>2</code>）を出力します。</p>
</div></div>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off
setlocal enabledelayedexpansion
set VAR=1
echo !VAR!
set VAR=2
echo !VAR!</pre>



<p>ループや条件分岐など、複雑なコードを書く際には変数の値が動的に変更されることが多くあります。</p>



<p>コマンドプロンプトにおける通常の変数展開では、ループ内で変数の値を更新しても、その変更が反映されません。しかし、遅延環境変数：Delayed Expansionを使用すると、ループの各ステップで変数の現在の値を取得することができるため、より複雑なスクリプトを効果的に記述することが可能になります。</p>



<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box memo-box">
<p class="has-text-align-center"><span class="badge-green">まとめ</span>　<strong>通常の変数展開 vs 遅延展開</strong></p>



<p class="has-text-align-center"><strong>通常の変数展開</strong></p>



<ul class="wp-block-list">
<li><strong>方法</strong>: <code>%変数名%</code> の形式を使用。</li>



<li><strong>タイミング</strong>: バッチファイルが読み込まれる時点で変数が展開される。</li>



<li><strong>特徴</strong>: ループや条件分岐内で変数の値を変更しても、それ以降のコマンドには反映されない。</li>
</ul>



<p class="has-text-align-center"><strong>遅延展開（Delayed Expansion）</strong></p>



<ul class="wp-block-list">
<li><strong>方法</strong>: <code>!変数名!</code> の形式を使用。<code><strong>setlocal enabledelayedexpansion</strong></code> コマンドで有効化が必要。</li>



<li><strong>タイミング</strong>: コマンドが実行されるタイミングで変数が展開される。</li>



<li><strong>特徴</strong>: ループや条件分岐内で変数の値が変更された場合、その変更が直ちに反映される。</li>
</ul>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>遅延展開を使用することで、変数の動的な変更をスクリプト内で直接反映させることができ、これによりループ処理や複雑な条件分岐を扱う際に非常に役立ちます。特に、変数の値が頻繁に変更されるような場合には、遅延展開の使用が推奨されます。</p>
</div></div>
</div>



<h2 class="wp-block-heading"><span id="toc4">setlocal enabledelayedexpansion （遅延展開）の注意点</span></h2>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>遅延展開の基本を押さえたうえで、初心者でも気を付けておきたい setlocal enabledelayedexpansion の罠について押さえておきましょう。</p>
</div></div>



<h3 class="wp-block-heading"><span id="toc5">1. 遅延展開を使った変数の更新</span></h3>



<p class="has-text-align-left"><strong><span class="badge-red">注意点1</span></strong>　：ループ内で変数の値を更新する際、通常の<code>%変数名%</code>ではなく、遅延展開を用いた<code>!変数名!</code>を使用すること。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off
setlocal enabledelayedexpansion

rem このスクリプトはループ内の遅延展開を示します
set /a count=0

for /l %%i in (1,1,5) do (
    set /a count=!count! + 1
    echo Count: !count!
    rem 期待される出力: カウントはループの各反復で1から5まで増加します
)

endlocal


rem 実行結果
rem Count: 1
rem Count: 2
rem Count: 3
rem Count: 4
rem Count: 5</pre>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>↑のコードでは、<code>for</code>ループを使用して5回繰り返します。ループの各反復で、<code>count</code>変数をインクリメントし、その値を<code>!count!</code>を使って表示します。</p>
</div></div>



<h3 class="wp-block-heading"><span id="toc6">２. ローカル環境の使用</span></h3>



<p><strong><span class="badge-red">注意点２</span></strong>　：<code>setlocal</code>と<code>endlocal</code>の間で行われた変更は、スクリプトの外に影響しません。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off
setlocal enabledelayedexpansion

rem このスクリプトはsetlocalとendlocalの間の変数の局所的スコープを示します
set "localVar=Local Value"

echo Inside local: !localVar!
rem 期待される出力: 局所的内部: Local Value

endlocal

echo Outside local: %localVar%
rem 期待される出力: 局所的外部: %localVar% (またはlocalVarがグローバルに定義されていない場合は空白)</pre>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>↑のスクリプトでは、ローカル変数<code>localVar</code>を定義し、<code>setlocal</code>と<code>endlocal</code>の内外でその値を表示します。<code>endlocal</code>の後では変数<code>localVar</code>は未定義になります。</p>
</div></div>



<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box memo-box">
<p class="has-text-align-center"><span class="badge-green">まとめ</span>　<strong>遅延環境変数展開とは？</strong></p>



<ol class="wp-block-list">
<li><strong>基本</strong>
<ul class="wp-block-list">
<li>遅延環境変数展開は、Windowsのコマンドプロンプト（CMD）やバッチファイルで使用される機能です。この機能により、変数の値がコマンドが実行される時点で「遅延して」展開されます。</li>
</ul>
</li>



<li><strong>通常の変数展開との違い</strong>
<ul class="wp-block-list">
<li>通常、バッチファイル内の変数はその行が解析される際に一度だけ展開されます。しかし、遅延環境変数展開を使うと、変数はその行が実行されるたびに展開されます。</li>
</ul>
</li>



<li><strong>ループ処理での利点</strong>
<ul class="wp-block-list">
<li>特にループ内で変数の値が変更される場合に有効です。通常の変数展開では、ループの開始時に変数が一度だけ展開されるため、ループ内での変数の変更が反映されません。遅延展開を使うと、ループの各ステップで変数の最新の値が使用されます。</li>
</ul>
</li>



<li><strong>記法</strong>
<ul class="wp-block-list">
<li>遅延環境変数展開が有効な場合、変数は <code>%variable%</code> の代わりに <code>!variable!</code> という形式で参照されます。</li>
</ul>
</li>



<li><strong>有効化方法</strong>
<ul class="wp-block-list">
<li>この機能を使用するためには、コマンドプロンプトやバッチファイルの先頭で <code>setlocal enabledelayedexpansion</code> コマンドを使用して遅延展開を有効にする必要があります。</li>
</ul>
</li>
</ol>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【バッチ】setコマンド：環境変数をわかりやすく３分で解説</title>
		<link>https://it-biz.online/it-skills/set-command/</link>
		
		<dc:creator><![CDATA[ビズドットオンライン]]></dc:creator>
		<pubDate>Wed, 29 Nov 2023 06:07:49 +0000</pubDate>
				<category><![CDATA[Command]]></category>
		<category><![CDATA[IT-Skills]]></category>
		<category><![CDATA[コマンドプロンプト]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://it-biz.online/?p=8586</guid>

					<description><![CDATA[setコマンドは、環境変数を操作するためのコマンドプロンプトの基本的なコマンドの１つ。 参考　コマンドプロンプトとは？ このページではsetコマンドの基本的な使い方を学びつつ、OSにおける環境変数の基本知識についてご説明 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><strong>setコマンド</strong>は、<span class="marker-under">環境変数を操作するため</span>のコマンドプロンプトの基本的なコマンドの１つ。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">REM 環境変数の表示
set

REM 特定の環境変数の値を表示
set PATH

REM 新しい環境変数の設定
set MYVAR=HelloWorld

REM 環境変数の値の算術演算
set /a result=5+3

REM ユーザー入力による環境変数の設定
set /p USERNAME=Enter your name: </pre>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/it-skills/command-abc/">コマンドプロンプトとは？</a></p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>環境変数とは、オペレーティングシステムや実行中のプログラムが参照する、動的に設定される値のことです。例えば、システムのファイルパスやユーザー情報、設定値などがこれに含まれます。</p>
</div></div>



<p>このページでは<strong>setコマンドの基本的な使い方</strong>を学びつつ、OSにおける<strong>環境変数の基本知識</strong>についてご説明します。</p>



<div class="wp-block-cocoon-blocks-tab-caption-box-1 tab-caption-box block-box"><div class="tab-caption-box-label block-box-label box-label fab-edit"><span class="tab-caption-box-label-text block-box-label-text box-label-text">このページで学べる内容</span></div><div class="tab-caption-box-content block-box-content box-content">
<ul class="wp-block-list">
<li>setコマンドの基本的な使い方と構文</li>



<li>環境変数とは何か？
<ul class="wp-block-list">
<li>環境変数の設定/表示/削除方法</li>
</ul>
</li>



<li>実用的なサンプルコードとその解説</li>



<li>応用技術：バッチファイルでのsetコマンドの利用</li>
</ul>
</div></div>



<p>システムエンジニアやプログラマーであれば<strong><span class="marker-under">知らないと恥ずかしい</span><span class="marker-under">超</span><span class="marker-under">・</span><span class="marker-under">基本知識</span></strong>です。是非最後までご覧ください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-12" checked><label class="toc-title" for="toc-checkbox-12">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">setコマンドとは？</a><ol><li><a href="#toc2" tabindex="0">setコマンドの基本的な構文</a></li></ol></li><li><a href="#toc3" tabindex="0">環境変数とは何か？</a><ol><li><a href="#toc4" tabindex="0">環境変数の役割</a></li><li><a href="#toc5" tabindex="0">環境変数の確認と設定</a></li></ol></li><li><a href="#toc6" tabindex="0">応用: setコマンドを使ったスクリプト</a><ol><li><a href="#toc7" tabindex="0">条件分岐のサンプルコード</a></li><li><a href="#toc8" tabindex="0">ループ処理のサンプルコード</a></li></ol></li><li><a href="#toc9" tabindex="0">setコマンドのオプション：まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">setコマンドとは？</span></h2>



<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="800" height="800" src="https://it-biz.online/wp-content/uploads/2023/11/image-12-800x800.png" alt="setコマンド" class="wp-image-8590" srcset="https://it-biz.online/wp-content/uploads/2023/11/image-12-800x800.png 800w, https://it-biz.online/wp-content/uploads/2023/11/image-12-500x500.png 500w, https://it-biz.online/wp-content/uploads/2023/11/image-12-300x300.png 300w, https://it-biz.online/wp-content/uploads/2023/11/image-12-768x768.png 768w, https://it-biz.online/wp-content/uploads/2023/11/image-12-200x200.png 200w, https://it-biz.online/wp-content/uploads/2023/11/image-12.png 1024w" sizes="(max-width: 800px) 100vw, 800px" /></figure>



<p>setコマンドは、Windowsのコマンドプロンプトで<strong><span class="marker-under">環境変数を操作するために使用されるコマンド</span></strong>のこと。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">REM 環境変数の表示
set

REM 特定の環境変数の値を表示
set PATH

REM 新しい環境変数の設定
set MYVAR=HelloWorld

REM 環境変数の値の算術演算
set /a result=5+3

REM ユーザー入力による環境変数の設定
set /p USERNAME=Enter your name: </pre>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>まずはじめにsetコマンドの基本的な構文と、環境変数についての基礎知識を学びます。</p>
</div></div>



<h3 class="wp-block-heading"><span id="toc2">setコマンドの基本的な構文</span></h3>



<p>setコマンドの基本的な構文は非常にシンプルです。この構文を使用して、新しい環境変数を作成したり、既存の変数の値を変更したりすることができます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">set [変数名]=[値]</pre>



<h4 class="wp-block-heading">サンプルコード１: 簡単な環境変数の設定</h4>



<p>以下のサンプルコードは、新しい環境変数<code>MYVAR</code>を作成し、その値を<code>HelloWorld</code>に設定する方法です。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">set MYVAR=HelloWorld</pre>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>このコマンドを実行すると、<code>MYVAR</code>という名前の環境変数が作成され、その値として<code>HelloWorld</code>が設定されます。この変数は、コマンドプロンプトセッション内で参照や変更が可能です。</p>
</div></div>



<h2 class="wp-block-heading"><span id="toc3">環境変数とは何か？</span></h2>



<p>環境変数は、オペレーティングシステム（OS）や実行中のプログラムが使用する、<strong>動的な設定情報を保持する変数</strong>です。これらの変数は、システムやプログラムが正しく動作するための重要な情報を含んでいます。</p>



<figure class="wp-block-table aligncenter"><div class="scrollable-table stfc-sticky"><table><thead><tr><th>環境変数</th><th>説明</th><th>実際の値の例</th></tr></thead><tbody><tr><td><code>PATH</code></td><td>実行可能ファイルの検索パス</td><td><code>C:\Windows\System32;C:\Windows;C:\Program Files\MyApp\bin</code></td></tr><tr><td><code>TEMP</code></td><td>一時ファイルの格納ディレクトリ</td><td><code>C:\Users\[ユーザー名]\AppData\Local\Temp</code></td></tr><tr><td><code>TMP</code></td><td>一時ファイルの格納ディレクトリ</td><td><code>C:\Users\[ユーザー名]\AppData\Local\Temp</code></td></tr><tr><td><code>USERPROFILE</code></td><td>ユーザープロファイルのディレクトリ</td><td><code>C:\Users\[ユーザー名]</code></td></tr><tr><td><code>SYSTEMROOT</code></td><td>システムのルートディレクトリ</td><td><code>C:\Windows</code></td></tr></tbody></table></div><figcaption class="wp-element-caption">環境変数の例</figcaption></figure>



<h3 class="wp-block-heading"><span id="toc4">環境変数の役割</span></h3>



<ol class="wp-block-list">
<li><strong>システム設定の提供</strong>
<ul class="wp-block-list">
<li>環境変数は、システムの動作に影響を与える重要な情報を提供します。例えば、<code>PATH</code>環境変数は、OSがプログラムやコマンドを検索するパスを指定します。</li>
</ul>
</li>



<li><strong>プログラム設定のカスタマイズ</strong>
<ul class="wp-block-list">
<li>アプリケーションは環境変数を読み込んで、動作をカスタマイズすることができます。例えば、一部のソフトウェアは<code>TEMP</code>変数を使用して、一時ファイルの保存場所を決定したりします。</li>
</ul>
</li>



<li><strong>セキュリティ情報の管理</strong>
<ul class="wp-block-list">
<li>パスワードやAPIキーなどのセキュリティに敏感な情報を環境変数として管理することがあります。これにより、プログラムコード内に直接これらの情報を記述するリスクを避けることができます。</li>
</ul>
</li>
</ol>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p class="is-style-bottom-margin-2em has-bottom-margin">また、環境変数は他のプログラム言語と同様にグローバル/ローカルの概念があります。setコマンドを利用する際に重要なポイントにもなるので合わせて頭に入れておきましょう。</p>



<p class="has-text-align-center is-style-bottom-margin-2em has-bottom-margin"><span class="badge-blue">ポイント</span>　<strong>環境変数の種類</strong></p>



<ul class="wp-block-list">
<li><strong>グローバル変数</strong>
<ul class="wp-block-list">
<li>システム全体で共有される変数。全てのユーザーとプロセスに影響を与えます。</li>
</ul>
</li>



<li><strong>ユーザー変数</strong>
<ul class="wp-block-list">
<li>特定のユーザーのプロファイルに関連付けられる変数。そのユーザーのセッションにのみ影響を与えます。</li>
</ul>
</li>
</ul>
</div></div>



<h3 class="wp-block-heading"><span id="toc5">環境変数の確認と設定</span></h3>



<p>Windowsのコマンドプロンプトで<code>set</code>コマンドを使用すると、現在のセッションの全ての環境変数を一覧表示することができます。特定の環境変数を表示したい場合は、<code>set [変数名]</code>という形式でコマンドを実行します。</p>



<p class="has-text-align-center"><span class="badge-blue">ポイント</span>　<strong>コマンドの実行手順</strong></p>



<ol class="wp-block-list">
<li><strong>コマンドプロンプトの起動</strong>：Windowsの検索バーに「cmd」と入力し、コマンドプロンプトを開きます。</li>



<li><strong><code>set</code>コマンドの実行</strong>：コマンドプロンプトに<code>set</code>と入力し、Enterキーを押します。</li>
</ol>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">C:\Users\[ユーザー名]>set

ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\[ユーザー名]\AppData\Roaming
COMPUTERNAME=[コンピュータ名]
HOMEDRIVE=C:
HOMEPATH=\Users\[ユーザー名]
LOCALAPPDATA=C:\Users\[ユーザー名]\AppData\Local
LOGONSERVER=\\[サーバー名]
PATH=C:\Windows\System32;C:\Windows;C:\Program Files\MyApp\bin
TEMP=C:\Users\[ユーザー名]\AppData\Local\Temp
TMP=C:\Users\[ユーザー名]\AppData\Local\Temp
USERDOMAIN=[ドメイン名]
USERPROFILE=C:\Users\[ユーザー名]
...</pre>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>環境変数は、<code>set [変数名]=[値]</code>の形式で新しく設定したり、変更したりすることができます。ただし、これらの変更は現在のコマンドプロンプトセッションにのみ適用され、新しいセッションや他のユーザーのセッションには影響しません。</p>
</div></div>



<p>ここからはいくつかのサンプルコードを示しながらsetコマンドの利用と、環境変数の基本理解を深めていきましょう。</p>



<h4 class="wp-block-heading">サンプルコード２：ローカル変数の設定</h4>



<p>ローカル変数は、現在のコマンドプロンプトセッションにのみ影響し、セッションが終了すると消失します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">set LOCALVAR=LocalValue</pre>



<h4 class="wp-block-heading">サンプルコード３：ローカル変数の表示</h4>



<p>設定したローカル変数の値を表示するには、以下のコマンドを使用します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">echo %LOCALVAR%</pre>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>このコマンドは、<code>LOCALVAR</code>変数の値を表示します。</p>
</div></div>



<h4 class="wp-block-heading">サンプルコード４：グローバル変数の設定</h4>



<p>グローバル変数は、システム全体に影響を与えます。これらの変数は、通常システムのプロパティを介して設定されますが、コマンドプロンプトからも<code><strong><span class="marker-under">setx</span></strong></code>コマンドを使用して設定することができます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">setx GLOBALVAR "GlobalValue"</pre>



<p>このコマンドは、<code>GLOBALVAR</code>という名前のグローバル環境変数を作成し、その値を<code>GlobalValue</code>に設定します。この変更は、新しいコマンドプロンプトセッションや再起動後に反映されます。</p>



<h4 class="wp-block-heading">サンプルコード５：グローバル変数の表示</h4>



<p>グローバル変数は、<code>set</code>コマンドを使用して表示することができます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">set GLOBALVAR</pre>



<p>このコマンドは、<code>GLOBALVAR</code>という名前のグローバル環境変数の値を表示します（設定されている場合のみ表示されます）。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>このように、<code>set</code>コマンドはローカル環境変数の操作に、<code>setx</code>コマンドはグローバル環境変数の操作に使用されます。ローカル変数は現在のセッションに限定されるのに対し、グローバル変数はシステム全体に影響を及ぼす点が大きな違いです。特にグローバル変数を操作する際には、システム全体への影響を理解して慎重に行う必要があります。</p>
</div></div>



<h2 class="wp-block-heading"><span id="toc6">応用: setコマンドを使ったスクリプト</span></h2>



<p>setコマンドは、バッチファイルにおいても<strong><span class="marker-under">非常に有用</span></strong>。</p>



<p>バッチファイルでは、setコマンドを使用して変数を設定し、条件分岐やループ処理などの高度なスクリプトを作成することができます。</p>



<h3 class="wp-block-heading"><span id="toc7">条件分岐のサンプルコード</span></h3>



<p>以下のスクリプトは、ユーザーに数字を入力させ、その数字が特定の値より大きいか小さいかに基づいて異なるメッセージを表示します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off
set /p USERINPUT=Enter a number: 
if %USERINPUT% leq 10 (
    echo The number is less than or equal to 10.
) else (
    echo The number is greater than 10.
)</pre>



<p>このスクリプトでは、入力された数値が10以下かどうかをチェックし、それに応じて異なるメッセージを表示します。</p>



<h3 class="wp-block-heading"><span id="toc8">ループ処理のサンプルコード</span></h3>



<p>次に、一定の条件まで数をカウントアップするループ処理のスクリプト例を示します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off
set /a COUNTER=0
:loop
if %COUNTER% lss 5 (
    echo %COUNTER%
    set /a COUNTER=%COUNTER%+1
    goto loop
)
echo Loop finished.</pre>



<p>このスクリプトでは、<code>COUNTER</code>変数が5に達するまで、<code>COUNTER</code>の値を表示し、その後1ずつ増やしてループを続けます。<code>COUNTER</code>が5に達した時点で「Loop finished.」と表示し、ループを終了します。</p>



<h2 class="wp-block-heading"><span id="toc9">setコマンドのオプション：まとめ</span></h2>



<p>setコマンドにはいくつかのオプションがあり、様々な目的に応じてうまく使い分ける必要があります。最後に、<code>set</code>コマンドの基本的な使い方をおさらいしつつ、主要なオプションを解説します。</p>



<p class="has-text-align-left"><span class="badge-blue">基本</span>　<strong>全ての環境変数を表示する</strong></p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">set</pre>



<p>このコマンドは、現在のセッションで設定されている全ての環境変数とその値を表示します。</p>



<p class="has-text-align-left"><span class="badge-blue">基本</span>　<strong>特定の環境変数を表示する</strong></p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">set PATH</pre>



<p>このコマンドは<code>PATH</code>環境変数の値を表示します。</p>



<p><span class="badge-blue">基本</span>　<strong>環境変数を設定する</strong></p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">set MYVAR=HelloWorld</pre>



<p>このコマンドは、新しい環境変数<code>MYVAR</code>を作成し、その値を<code>HelloWorld</code>に設定します。</p>



<p><span class="badge-green">オプション</span>　<strong>算術演算（<code>/a</code>オプション）</strong></p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">set /a result=5+3
echo %result%</pre>



<p>このコマンドは、8（5+3）という結果を<code>result</code>変数に設定し、それを表示します。</p>



<p><span class="badge-green">オプション</span>　<strong>ユーザー入力（<code>/p</code>オプション）</strong></p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">set /p username=Enter your name: 
echo Hello, %username%!</pre>



<p>このコマンドは、ユーザーに名前の入力を求め、入力された名前を<code>username</code>変数に設定し、挨拶を表示します。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>これらのコード例は、<code>set</code>コマンドの様々な使用方法を示しています。これにより、環境変数の表示、設定、算術演算、ユーザー入力の処理、文字列の操作など、多岐にわたるタスクを実行できます。</p>
</div></div>



<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box memo-box">
<p class="has-text-align-center"><span class="badge-green">まとめ</span>　<strong>setコマンド / 環境変数</strong></p>



<p><strong>setコマンドとは</strong></p>



<ul class="wp-block-list">
<li>Windowsコマンドプロンプトで使用されるコマンド。</li>



<li>環境変数を表示、設定、または削除するために使用される。</li>



<li>バッチファイルやスクリプト内でも利用可能。</li>



<li>文字列操作や算術演算などの拡張機能を提供する。</li>
</ul>



<p><strong>環境変数とは</strong></p>



<ul class="wp-block-list">
<li>オペレーティングシステムや実行中のプログラムが使用する動的な設定情報。</li>



<li>ファイルパス、システム設定、ユーザー情報などを保持。</li>



<li>システム全体（グローバル）または特定のユーザーセッション（ローカル）に適用される。</li>



<li><code>PATH</code>, <code>TEMP</code>, <code>USERPROFILE</code>などが一般的な例。</li>
</ul>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">REM 環境変数の表示
set

REM 特定の環境変数の値を表示
set PATH

REM 新しい環境変数の設定
set MYVAR=HelloWorld

REM 環境変数の値の算術演算
set /a result=5+3

REM ユーザー入力による環境変数の設定
set /p USERNAME=Enter your name: </pre>
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【バッチ】setlocalコマンドの使い方を１分で解説</title>
		<link>https://it-biz.online/it-skills/setlocal/</link>
		
		<dc:creator><![CDATA[ビズドットオンライン]]></dc:creator>
		<pubDate>Thu, 30 Nov 2023 09:08:30 +0000</pubDate>
				<category><![CDATA[Command]]></category>
		<category><![CDATA[IT-Skills]]></category>
		<category><![CDATA[コマンドプロンプト]]></category>
		<category><![CDATA[プログラミング]]></category>
		<guid isPermaLink="false">https://it-biz.online/?p=8592</guid>

					<description><![CDATA[setlocalコマンドは、Windowsのバッチファイル内で一時的な環境変数のスコープを作成するために使用されます。スクリプト内での変更がスクリプトの外に影響を及ぼさないようにするために重要なコマンドで、バッチファイル [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p><strong><span class="marker-under"><code>setlocal</code>コマンド</span></strong>は、Windowsのバッチファイル内で一時的な環境変数のスコープを作成するために使用されます。スクリプト内での変更がスクリプトの外に影響を及ぼさないようにするために重要なコマンドで、バッチファイルを作成する際には理解必須の重要なコマンドの１つ。</p>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/it-skills/set-command/">コマンドプロンプト：環境変数とは？</a></p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>簡単に言うと、<code>setlocal</code>はスクリプト内での変更を局所的に保つためのコマンドです。</p>
</div></div>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off

:: setlocal外で変数を定義
set GLOBALVAR=外部変数

:: setlocal内で変数を定義
setlocal
set TEMPVAR=内部変数
echo 内部変数: %TEMPVAR%
endlocal

:: setlocal外での変数の状態を確認
echo 外部変数: %GLOBALVAR%
echo 内部変数（setlocal外）: %TEMPVAR%

:: 結果
:: 内部変数: 内部変数
:: 外部変数: 外部変数
:: 内部変数（setlocal外）:</pre>



<p>この例では、<code>setlocal</code>と<code>endlocal</code>の間で定義された<code>TEMPVAR</code>は、<code>endlocal</code>の後にはアクセスできなくなります。これにより、スクリプト内での変更がスクリプト外へ影響を与えないことがわかります。一方、<code>setlocal</code>の外で定義された<code>GLOBALVAR</code>はスクリプト全体で利用可能です。</p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p>この記事を通じて、<code>setlocal</code>コマンドの使い方とその効果をより深く理解し、実際の作業に役立てることができるでしょう。</p>
</div></div>



<div class="wp-block-cocoon-blocks-tab-caption-box-1 tab-caption-box block-box"><div class="tab-caption-box-label block-box-label box-label fab-edit"><span class="tab-caption-box-label-text block-box-label-text box-label-text">この記事で学べる内容</span></div><div class="tab-caption-box-content block-box-content box-content">
<ul class="wp-block-list">
<li><code>setlocal</code>の使い方
<ul class="wp-block-list">
<li>setlocal を使用しない場合の挙動 / setxコマンドとの整合性</li>
</ul>
</li>



<li><code>setlocal</code>のメリットと使用シナリオ</li>



<li>注意点とトラブルシューティング</li>
</ul>
</div></div>



<p>システムエンジニアやプログラマーであれば<strong><span class="marker-under">知らないと恥ずかしい超・基本知識</span></strong>です。是非最後までご覧ください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-14" checked><label class="toc-title" for="toc-checkbox-14">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">setlocal コマンドの使い方</a><ol><li><a href="#toc2" tabindex="0">setlocalの使用と非使用の違い</a></li><li><a href="#toc3" tabindex="0">setxコマンドとの整合性</a></li></ol></li><li><a href="#toc4" tabindex="0">setlocal コマンドの使用シナリオ：サンプルコード</a><ol><li><a href="#toc5" tabindex="0">setlocalのメリット</a></li></ol></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">setlocal コマンドの使い方</span></h2>



<p><code>setlocal</code>コマンドは、Windowsのバッチファイル内で局所的な環境を作成するために使用します。</p>



<p>このコマンドが提供する主な機能は、<strong>スクリプト内での変更（環境変数の変更、パスの設定など）がスクリプトの外部に影響を及ぼさないようにすること</strong>です。これにより、スクリプトが他のプロセスやシステム全体の設定に予期せぬ影響を与えることを防ぐことができます。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off
setlocal
:: ここに局所的なコマンドを実行
endlocal</pre>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p><code>setlocal</code>は、特に複雑なバッチファイルを作成する際に役立ちます。例えば、一時的なファイルを作成するスクリプトや、特定の環境変数を一時的に変更するスクリプトなどでこのコマンドが活用されます。<code>setlocal</code>を使用することで、これらの変更がスクリプトの実行後に破棄され、システム全体に影響を与えることがなくなります。</p>
</div></div>



<h3 class="wp-block-heading"><span id="toc2">setlocalの使用と非使用の違い</span></h3>



<ul class="wp-block-list">
<li><strong>setlocalを使用する場合：</strong>
<ul class="wp-block-list">
<li>バッチファイル内で定義された環境変数は、<code>setlocal</code>と<code>endlocal</code>の間でのみ有効。</li>



<li>バッチファイルの実行終了後、これらの変数は破棄され、システムの他の部分に影響を与えない。</li>
</ul>
</li>



<li><strong>setlocalを使用しない場合：</strong>
<ul class="wp-block-list">
<li>バッチファイル内で定義または変更された環境変数は、バッチファイルの実行終了後もシステムに残り続けます。</li>



<li>これにより、<strong><span class="marker-under">他のバッチファイルやプログラムに影響を及ぼす可能性がある</span></strong>。</li>
</ul>
</li>
</ul>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p><code>setlocal</code>を使用しない場合、バッチファイル内で行われる環境変数の変更は、そのバッチファイルの実行が終了した後も継続してシステムに影響を与える可能性があります。これは、バッチファイルで行われる変更がグローバルな環境に対して行われるためです。</p>
</div></div>



<h3 class="wp-block-heading"><span id="toc3">setxコマンドとの整合性</span></h3>



<ul class="wp-block-list">
<li><code>setx</code>コマンドは、環境変数を永続的にシステムレベルまたはユーザーレベルで設定します。</li>



<li><code>setx</code>で設定された変数は、バッチファイルの実行が終了した後も残り続けるため、<strong>システムの再起動後も維持</strong>されます。</li>



<li><code>setlocal</code>と<code>setx</code>は異なる用途に使用されます。<code>setlocal</code>は一時的な変更のために、<code>setx</code>は永続的な変更のために使われます。</li>
</ul>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p><code>setx</code>コマンドは、環境変数を永続的に変更するためのコマンドです。<code>setx</code>で行われた変更は、システムの再起動後も残り、全てのユーザーおよびプロセスで利用可能となります。したがって、<code>setx</code>を使って行われた変更は、バッチファイルの実行が終了しても持続します。</p>
</div></div>



<h2 class="wp-block-heading"><span id="toc4">setlocal コマンドの使用シナリオ：サンプルコード</span></h2>



<p>ここからは、<code>setlocal</code>コマンドのメリットと具体的な使用シナリオについて詳しく説明します。</p>



<h3 class="wp-block-heading"><span id="toc5">setlocalのメリット</span></h3>



<ol class="wp-block-list">
<li><strong>局所的な環境の作成</strong>
<ul class="wp-block-list">
<li> <code>setlocal</code>を使うことで、バッチファイル内で設定した環境変数や変更はそのファイル内に限定され、システム全体に影響を与えない。</li>
</ul>
</li>



<li><strong>変更の自動リセット</strong>
<ul class="wp-block-list">
<li>バッチファイルの実行が終了すると、<code>setlocal</code>と<code>endlocal</code>の間で行われたすべての変更は自動的に元に戻ります。</li>
</ul>
</li>



<li><strong>安全性の向上</strong>
<ul class="wp-block-list">
<li>スクリプトによる意図しないシステム全体への影響を防ぐことで、安全性が向上します。</li>
</ul>
</li>



<li><strong>テストとデバッグの容易さ</strong>
<ul class="wp-block-list">
<li>スクリプト内で限定された変更を行うことで、テストやデバッグが容易になります。</li>
</ul>
</li>
</ol>



<h4 class="wp-block-heading">シナリオ1: 一時的な環境変数の設定</h4>



<p>一時的な作業用ディレクトリの設定やファイル操作を行う際に、<code>setlocal</code>を使用します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off
setlocal

:: 一時的なディレクトリを設定
set TEMPDIR=C:\TempWork
mkdir %TEMPDIR%
cd %TEMPDIR%

:: 作業内容
:: ここでファイル操作などを行う

:: 後処理
cd ..
rmdir /S /Q %TEMPDIR%

endlocal</pre>



<h4 class="wp-block-heading">シナリオ2: パスの一時的な変更</h4>



<p>特定のアプリケーションやツールを一時的にパスに追加して使用します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off
setlocal

:: 一時的なパスの設定
set OLDPATH=%PATH%
set PATH=%PATH%;C:\MyTools

:: ツールの実行
:: ここで特定のツールを実行

endlocal
:: パスは元の状態に戻る</pre>



<h4 class="wp-block-heading">シナリオ3: 特定の設定でのスクリプト実行</h4>



<p><code>ENABLEDELAYEDEXPANSION</code>や<code>ENABLEEXTENSIONS</code>などのオプションを用いて、特定の設定下でスクリプトを実行します。</p>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off
setlocal ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS

:: 遅延展開を使用した複雑なスクリプト
:: ここでスクリプトを実行

endlocal</pre>



<p class="has-text-align-center"><span class="badge">参考</span>　<a href="https://it-biz.online/it-skills/enabledelayedexpansion/">ENABLEDELAYEDEXPANSION</a></p>



<div class="wp-block-cocoon-blocks-balloon-ex-box-1 speech-wrap sb-id-1 sbs-stn sbp-l sbis-cb cf block-box"><div class="speech-person"><figure class="speech-icon"><img decoding="async" src="https://it-biz.online/wp-content/uploads/2023/06/man.png" alt="" class="speech-icon-image"/></figure><div class="speech-name"></div></div><div class="speech-balloon">
<p><code>setlocal</code>は特に、一時的な変更が必要な場合や、スクリプトが他のプロセスに影響を与えないようにしたい場合に非常に有効です。また、スクリプトのテストやデバッグを行う際にも、<code>setlocal</code>を活用することで、より安全かつ効率的に作業を進めることができます。</p>
</div></div>



<div class="wp-block-cocoon-blocks-icon-box common-icon-box block-box memo-box">
<p class="has-text-align-center"><span class="badge-green">まとめ</span>　<strong>setlocal コマンドの意味と使い方</strong></p>



<ul class="wp-block-list">
<li><strong>意味：</strong>
<ul class="wp-block-list">
<li><code>setlocal</code>コマンドは、バッチファイル内で<strong><span class="marker-under">局所的な環境変数のスコープ</span></strong>を作成する。</li>



<li>このコマンドにより、スクリプト内の変更はスクリプト外に影響を与えない。</li>
</ul>
</li>



<li><strong>使い方：</strong>
<ul class="wp-block-list">
<li>バッチファイル内で<code>setlocal</code>を使用して、局所的な環境を開始。</li>



<li>必要な環境変数の設定やコマンドの実行を行う。</li>



<li><code>endlocal</code>で局所的な環境を終了し、変更を元に戻す。</li>
</ul>
</li>
</ul>



<pre class="EnlighterJSRAW" data-enlighter-language="bat" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">@echo off

:: setlocalの前にグローバル変数を設定
set GLOBALVAR=グローバル値
echo グローバル変数初期値: %GLOBALVAR%

:: setlocalを使用して局所的な環境を開始
setlocal

:: 局所的な環境内で変数を変更
set GLOBALVAR=局所的変更値
set LOCALVAR=局所的変数
echo グローバル変数（局所的変更後）: %GLOBALVAR%
echo 局所的変数: %LOCALVAR%

:: 局所的な環境を終了
endlocal

:: setlocalの後のグローバル変数の状態を確認
echo グローバル変数（setlocal後）: %GLOBALVAR%
echo 局所的変数（setlocal後）: %LOCALVAR%

:: 結果
:: グローバル変数初期値: グローバル値
:: グローバル変数（局所的変更後）: 局所的変更値
:: 局所的変数: 局所的変数
:: グローバル変数（setlocal後）: グローバル値
:: 局所的変数（setlocal後）:</pre>
</div>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
