2016-08-25 7 views
0

本質的に毎日実行され、あるネットワークロケーションからファイルをコピーして別のネットワークロケーションに貼り付けるスクリプトを作成します。Windowsスクリプト - ファイルをコピーして新しいネットワークロケーションに貼り付けるスクリプトを作成する

誰か助言してもらえますか?

ありがとうございました。

+0

Windowsバッチファイルとタスクスケジューラを使用してもよろしいですか? –

答えて

0

夜間にTask Schedulerから呼び出されるWindows Batchファイルを使用できます。 Copyコマンドは私が最もよく使うものです。

SET oldLocation=\\OldServer\C$\test.txt 
SET newLocation=\\NewServer\C$\test.txt 
copy %newLocation% %oldLocation% 

タスクをスケジュールし、同じサーバーにバッチファイルを配置します。どちらのサーバーも、バッチを実行するように設定されたユーザーが両方のサーバーに対して適切な権限を持っている限り、コマンドを実行するために動作します。

0

はこのような何かを試してみてください:

@echo off 

echo %date% %time% >> batch.log 
echo START ----- >> batch.log 

net use x: /delete /Y >> batch.log 
net use x: \\<server>\<share> <password> /user:<domain>\<name> /persistant:yes >> batch.log 
net use z: /delete /Y >> batch.log 
net use z: \\<server>\<share> <password> /user:<domain>\<name> /persistant:yes >> batch.log 

xcopy x:\<filename> z:\<filename> >> batch.log 

exit 

私はxcopyのあなたがネットワーク上の場所にまたはからコピーされているすべての時間を使ってお勧めします。これは、使用中のファイルがまだコピーされていることを確認し、そのような動作に関連するエラーからあなたを救います。

また、date/time/startと>> batch.logのエコーを追加すると、エラーを検索していつ発生したかを知ることができるログファイルが作成されます。

私は個人的に "net use/delete/Y"を追加してからネットワークの場所を設定します。私の経験では、同じユーザーが使用するリソースが多すぎるために発生するエラーを回避できます。また、それはそれを行うよりクリーンな方法です。

Eric SさんがTask Schedulerを使用することをお勧めします。

  • 管理者レベルのアカウント、つまり最高の 権限で実行するように設定することをお勧めします。
  • ログオンしているユーザーに関係なく実行します。
  • 割り当て時間を超えて実行される場合は、終了するように設定します。

これが役に立ちます。

関連する問題