バッチファイルでの定期処理やファイルバックアップなどを行う際、社内の共有フォルダ(NASやファイルサーバー)にアクセスする必要がある場面は多くあります。その際、ネットワークドライブを自動的に割り当て(マウント)してから処理を行うことで、操作を完全に自動化できます。
この記事では、バッチファイルでネットワークドライブをマウントし、特定の処理を実行し、最後にドライブを切断する方法を解説します。
1. ネットワークドライブのマウント(net use)
まず、net use
コマンドでネットワークドライブを任意のドライブレターに割り当てます。
net use Z: \\192.168.0.10\shared_folder /user:username password
解説:
Z:
:割り当てるドライブレター\\192.168.0.10\shared_folder
:共有フォルダのUNCパス/user:
:認証が必要な場合のユーザー名
2. マウント状態を確認してから処理を実行
マウント成功後に処理を行うようにすると、失敗時の誤動作を防げます。
@echo off
:: ドライブを割り当て
net use Z: \\192.168.0.10\shared_folder /user:username password > nul
:: マウント成功を確認
if exist Z:\ (
echo マウント成功。処理を開始します。
:: 処理例:ファイルをコピー
copy "C:\local\backup.zip" "Z:\backup\" /Y
) else (
echo マウントに失敗しました。ネットワーク設定を確認してください。
)
:: 後片付け(ドライブの切断)
net use Z: /delete > nul
pause
上記の例では、ローカルファイルを共有フォルダにコピーする処理を行っています。
3. ドライブがすでに存在する場合の対処
すでにZドライブが存在している場合は一度削除してから再マウントすることで、競合やトラブルを回避できます。
net use Z: /delete > nul 2>&1
net use Z: \\192.168.0.10\shared_folder /user:username password > nul
このように、事前にクリーンな状態にしてからマウントすることで安全性が高まります。
4. 認証情報を安全に扱うためのポイント
パスワードをバッチファイル内に平文で書くことはセキュリティリスクがあります。可能であれば、次のような対策を講じましょう:
- ドメインログイン環境であれば
/user
オプションを省略 - 資格情報マネージャーに保存(Windows Credential Manager)
- パスワード部分を外部ファイルから読み込む仕組みを検討
5. バッチファイルの自動実行との組み合わせ
このネットワークドライブマウント処理は、タスクスケジューラと組み合わせることで夜間バッチや定時バックアップ処理に活用できます。
schtasks /create /tn "BackupToNAS" /tr "C:\scripts\backup.bat" /sc daily /st 02:00
このようにすることで、人手を介さずに社内共有フォルダへの処理を自動化できます。
まとめ
バッチファイルによるネットワークドライブの自動マウントと処理実行の組み合わせは、社内業務の自動化・定期処理の信頼性向上に非常に有効です。
- 共有フォルダへのアクセスを自動化し、手作業を削減
- ネットワーク環境の問題があった場合にも処理を安全に制御
- ドライブの状態を確認してから処理を実行することで誤動作防止
ぜひ、自社の環境に合わせて応用してみてください。