トップ回答者
タスク(バッチ)によるネットワークドライブ接続

質問
-
初めて投稿させていただきます。
質問は、バッチによるネットワークドライブ接続の動作に関してです。
server2003のタスクスケジューラーにて、ファイル転送(毎日定時)を行うために、以下のように構成しております。
(前提条件) User:batuser(Administrators)
1.ネットワークドライブ接続バッチ(net use x: \\serverA\[共有フォルダ」)
2.ファイルコピーA (xcopy c:\logs x:\logs)
3.ファイルコピーB (xcopy c:\file1 x:\files)
4.ネットワークドライブ切断バッチ
上記のように設定した場合、1.で設定したネットワークドライブレターを、2.以降のバッチ内で認識できないようで、
すべてエラーとなってしまいます。
上記では、xcopyの処理が2つですが、実際には、xcoyしたいフォルダが数十個あり、不定期に対象フォルダが変更、
また実行時間も不定期に変更されるため、バッチを分けて作成およびタスクスケジューラで連続実行したいと考えております。
バッチ間で、ネットワークドライブの情報を連携する方法はないのでしょうか?
有識者に質問したところ、「Server2008では本構成でOKだが、Server2003では無理」と言われました。
2003と2008ではタスクスケジューラの仕組みが変更されたのでしょうか?
もし、server2003で不可能なら、今のうち(開発中)にserver2008へ変更したいと考えております。
ご存じの方がいらっしゃいましたら、ご教授のほどよろしくお願いいたします。
2010年6月7日 17:04
回答
-
それが何故できないのかについては私には分からないのですが、少し方法を変えれば同じ結果は得られるような気もします。
たとえば「ネットワーク接続バッチ」をタスクに登録するのをやめて、ファイルコピーのバッチの先頭に、
CALL ネットワークドライブ接続バッチ
の1行を追加し、最後にネットワークドライブを切断する。
(もし複数のファイルコピーが同時に動作する可能性があるのであれば、ネットワークドライブ接続や切断時のエラー処理を考慮する必要がありますが・・・)
また、たぶん変更箇所を少なくするためにネットワークドライブを使われているのだと思いますが、ネットワークドライブを使わなければスムーズに動作するのではないでしょうか。
ファイルコピーバッチの例
SET DEST="\\serverA\共有フォルダ"
xcopy c:\logs %DEST%\logs
xcopy c:\xxx %DEST%\xxx
(必要に応じてSETの部分を別のバッチにまとめCALLすることもできると思います)- 回答としてマーク 三沢健二 2010年6月9日 1:28
2010年6月8日 7:07
すべての返信
-
それが何故できないのかについては私には分からないのですが、少し方法を変えれば同じ結果は得られるような気もします。
たとえば「ネットワーク接続バッチ」をタスクに登録するのをやめて、ファイルコピーのバッチの先頭に、
CALL ネットワークドライブ接続バッチ
の1行を追加し、最後にネットワークドライブを切断する。
(もし複数のファイルコピーが同時に動作する可能性があるのであれば、ネットワークドライブ接続や切断時のエラー処理を考慮する必要がありますが・・・)
また、たぶん変更箇所を少なくするためにネットワークドライブを使われているのだと思いますが、ネットワークドライブを使わなければスムーズに動作するのではないでしょうか。
ファイルコピーバッチの例
SET DEST="\\serverA\共有フォルダ"
xcopy c:\logs %DEST%\logs
xcopy c:\xxx %DEST%\xxx
(必要に応じてSETの部分を別のバッチにまとめCALLすることもできると思います)- 回答としてマーク 三沢健二 2010年6月9日 1:28
2010年6月8日 7:07 -
早々のご返信ありがとうございます。
仰せの通り、Callする(直接記述する)方法も考えたのですが、
コピーの対象となるフォルダが頻繁に変更になることと、
ドライブ文字のバッティングが発生した場合にエラーとなってしまうため、
接続開始ジョブ完了後、コピー処理を複数行ない、最後に切断をしたいと考えております。
投稿の後、Server2008の試用版を試したところ、今回の要件を満たすことができることがわかりました。
ServerOSの変更はハードルが高いのですが、要件重視で考えて進めていこうと思っています。
自分で検証もせずに投稿してしまい、貴重な時間を費やしご回答頂きましたこと、深く感謝いたします。
2010年6月8日 15:10 -
since_server2003 さん、こんにちは。
フォーラムオペレーターの三沢健二です。OMEGAT さん、いつもアドバイスありがとうございます。
案内いただいたアドバイスが参考になられたようですので、勝手ながら [回答としてマーク] のチェックを付けさせていただきました。
なお、下記 KB253821 に記載されている対処方法で解消される可能性もありますので、よろしければお試しいただければと思います。
- 参考情報
システム エラー 85"NET USE"コマンドを使用
http://support.microsoft.com/kb/253821/ja
それでは、今後とも TechNet Forum をよろしくお願いします。
______________________________________
マイクロソフト株式会社 フォーラム オペレーター 三沢健二2010年6月9日 1:29