前回、Windowsで複数のフォルダを一気に作成するバッチファイルを紹介しました。
今回はフォルダリストを別で作成し、そのフォルダリストを参照して複数のフォルダを作成するバッチファイルを作成しました。
「バッチファイル」リストで作成したファイルを参照し、リモートファイルサーバー上に複数フォルダを作成する
今回の構成は以下の通りとなります。
batch(フォルダ) - LOG(フォルダ) - main.bat - sub.bat - list.txt
前回同様、バッチファイルはそれぞれ「main」と「sub」に分かれています。
それに今回は「list.txt」を用意し、作成するフォルダのリストを記述します。
それぞれの用途は以下となります。
- main.bat:実行バッチ。subを実行し、実行結果をログに出力
- sub.bat:main.batの実行により動作。フォルダ+サブフォルダ作成を実行
- list.txt:作成するフォルダのリスト
また、それぞれのバッチの内容は以下で説明します。
「main.bat」コード
@echo off SET YYYYMMDD=%date:~0,4%%date:~5,2%%date:~8,2% SET LOG_FILE=LOG\%YYYYMMDD%.log CALL sub.bat > %LOG_FILE% 2>&1 pause exit
メインで実行するバッチでは次の動作を実行します。
- 「SET」コマンドでログファイルを作成
- 「sub.bat」バッチファイルを実行し、実行結果(エラー)をログとして出力する
「sub.bat」コード
@echo off pushd \\192.168.1.1\TEST_vol for /f %%i in (C:\pach\list.txt) do md %%i popd exit
「sub.bat」では実行するコードを記述しています。
- 「pushd」でリモート先のファイルサーバーへアクセス
- 「md」コマンドでフォルダ+サブフォルダを作成。作成するフォルダの参照先は「list.txt」
- 「popd」で接続解除
「list.txt」コード
「sub.bat」が参照するリストとなります。
以下ではフォルダとその配下のサブフォルダ(test)を作成するリストとなります。
001\test 002\test 003\test 004\test 005\test 006\test
複数のファイルサーバーでバッチファイルを実行したい場合
複数のファイルサーバーへアクセスしてフォルダを作成したい場合は以下のように同じコードを2つ書くようにします。
また、それぞれ参照したいリストがある場合は参照するテキストのパスを変更しておきます。
- C:\batch\list01.txt
- C:\batch\list02.txt
@echo off pushd \\192.168.1.1\TEST01_vol for /f %%i in (C:\batch\list01.txt) do md %%i popd pushd \\192.168.1.2\TEST02_vol for /f %%i in (C:\batch\list02.txt) do md %%i popd exit
バッチファイルを動作させる「main.bat」を実行
上記で、実際に設定が完了したら、「main.bat」をダブルクリックして実行してみましょう。
前回同様、リモート先のファイルサーバー内にフォルダが作成できれば完了です。
エンジニアのオンライン学習
ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。
おすすめオンライン教材 | |
自宅で学習ができるオンラインスクール | |
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。
コメントを残す