ネットワークドライブのフォルダ名を年月で毎月ごとに自動切り替えするバッチ

Sambaなどのファイルサーバ(サーバ名:FILESERVER)で月日を共有フォルダ名に毎月ごとにフォルダ名が切り替わるフォルダをNET USEコマンドなりでネットワークドライブに割り当てている場合に、自動的にネットワークドライブに割り当てるフォルダ名を切り替えるバッチです。

  • サーバ名:FILESERVER
  • 共有フォルダ名:yyyymm (例:2008年4月の場合 200804)
  • ユーザ名:USERNAME
  • パスワード:PASSWORD
  • ネットワークドライブ:Nドライブ

2008年4月なら \\FILESERVER\USERNAME\200804、2008年5月には \\FILESERVER\USERNAME\200805 という共有フォルダをネットワークドライブの'N'ドライブで使っている場合。

以下のバッチをWindowsの起動時にスタートアップで実行。

@echo off
SET hostname=FILESERVER
SET pwd=PASSWORD
SET username=USERNAME

SET YYYYMM=%date:~0,4%%date:~5,2%
net use N: \\%hostname%\%USERNAME%\%YYYYMM% %PASSWORD% /user:%USERNAME% 

あとは例えばファイルサーバがLinuxなどのSambaの場合には、以下のようなコマンドで毎月1日にディレクトリ名がyyyymmなディレクトリを自動的に作成するように、Linuxなどならcronに、Windowsならタスクに設定しておくといいかも。

#!/bin/sh
mkdir /home/$USER/`date +%Y%m`/