- ベストアンサー
ネットワーク上のデータをコピーする方法と注意点
- プログラミング初心者がネットワーク上のデータをコピーする方法として、xcopyを利用することができます。しかし、実行時にエラーが発生する場合があります。runasやnet useを使用する前に、事前にUNCを利用してネットワークにログオンする必要があります。
- ネットワーク上のデータをコピーする際には、まずnet useコマンドを使用してネットワークにログオンします。その後、xcopyを使ってネットワーク上のデータをローカルにコピーすることができます。しかし、実行時にエラーが発生する場合がありますので、注意が必要です。
- ネットワーク上のデータをコピーするためには、runasを使用することができます。しかし、runasの仕様が分かりにくいため、事前にnet useコマンドを使用してネットワークにログオンする必要があります。また、runas実行前にUNCを利用しておくことで、エラーを回避することができます。WindowsXPやWindows2000の環境で実行する場合も同様です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
もうひとつ。 ファイルのコピーにXCOPYを使っていますが、「同期をとる」という利用目的ならば、ROBOCOPYを使用する手もあります。 ROBOCOPYはWindows2000やXPのリソースキットに入っているツールですが、WindowsVISTAからは標準ソフトとなっています。 ROBOCOPYの利点は差分コピーが出来るという点です。 XCOPYはすべてのフォルダとファイルをコピーしようとするので、コピーするファイルが大量にある場合、時間とネットワーク負荷がかかりますが、ROBOCOPYはファイルのタイムスタンプを見て変更されたファイルだけをコピーしてくれます。 注意点は片方向同期なので、AのPCの内容をBのPCの内容と同じには出来ますが、BのPCで変更した内容はAのPCの内容で上書きされます。
その他の回答 (1)
- heaasdlka
- ベストアンサー率100% (1/1)
ローカルでrunasするのは、ローカルのユーザを変更しないと権限の問題とかでアクセス出来ないフォルダにデータを書き込みたいからなんでしょうか? ローカルの権限の問題を解決するひとつの手段として、XCOPYをバッチファイルにして、タスクスケジューラから実行したらどうですか? タスクはローカル端末の任意のユーザIDで実行出来るので、runasしなくてもユーザを変更出来ますよ。 相手側(ネットワーク側のPC)に接続するのであれば、以下のようにすればうまくいかないですか? 例1)NET USE N: \\Svr01\Shr_A "paswd" /USER:netusr1 XCOPY N:\ D:\Backup\20090306 /E /I NET USE N: /DELETE 例2)NET USE \\Svr01\IPC$ "paswd" /USER:Svr01\netadmin1 XCOPY \\Svr01\Shr_A D:\Backup\20090306 /E /I NET USE \\Svr01\Shr_A /DELETE セキュリティの問題等で NET USE でパスワードを指定したくないという場合は、ローカル側に相手側のログインの際に使用するユーザIDとパスワードでアカウントをつくり、タスクスケジューラからそのユーザIDでXCOPYを実行するようにすれば、うまくいかないですかね? Windowsはネットワークのサーバに接続する際、まずローカルでログインしているユーザIDとパスワードで認証しに行くので、ローカルでネットワーク側と同じユーザで処理を実行すればパスワードは聞いてきません。 もうひとつ考えられるのは、ネットワーク側の共有フォルダの権限設定か、共有フォルダの参照フォルダの権限がうまく設定されていなくて接続を拒否されている可能性もあります。 ちなみに、「うまくいかない」とだけ書かれても、この程度の回答しか出来ません。 どのようなコマンドを実行し、どのようなエラーメッセージが出たのかとか、ネットワークとローカルのパソコンのOSなどの情報など、最低でも環境や実行コマンドやどういった問題が発生したのか書かないと、誰も答えてくれませんよ。 具体的な情報を書けば書くほど解答は早いと思います。