【Windows】リモート先のファイルサーバへ「リストファイル」を参照した複数のフォルダを作成するバッチ

前回、Windowsで複数のフォルダを一気に作成するバッチファイルを紹介しました。

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

メインで実行するバッチでは次の動作を実行します。

  1. 「SET」コマンドでログファイルを作成
  2. 「sub.bat」バッチファイルを実行し、実行結果(エラー)をログとして出力する

「sub.bat」コード

@echo off

pushd \2.168.1.1\TEST_vol 
for /f %%i in (C:\pach\list.txt) do md %%i

popd

exit

「sub.bat」では実行するコードを記述しています。

  1. 「pushd」でリモート先のファイルサーバーへアクセス
  2. 「md」コマンドでフォルダ+サブフォルダを作成。作成するフォルダの参照先は「list.txt」
  3. 「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 \2.168.1.1\TEST01_vol 
for /f %%i in (C:\batch\list01.txt) do md %%i
popd

pushd \2.168.1.2\TEST02_vol 
for /f %%i in (C:\batch\list02.txt) do md %%i
popd

exit

バッチファイルを動作させる「main.bat」を実行

上記で、実際に設定が完了したら、「main.bat」をダブルクリックして実行してみましょう。

前回同様、リモート先のファイルサーバー内にフォルダが作成できれば完了です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUT US

blank
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!