dポイントプレゼントキャンペーン実施中!

プログラミング初心者で、何度実行してもエラーになってしまう
ので、お力添えをお願いいたします。

ネットワーク上にあるコンピュータからデータを
持ってきて、ローカルにあるファイルを更新したいのです。

ネットワークから取ってくる方法は、net useでも、UNCでも
構いませんが、ネットワーク上のパソコンに入る際にログオン
する必要があります。

データの更新方法は、xcopyを利用して、ネットワーク上のPCが
送り手で、ローカルが受け手になります。
(※送り手をローカルにセットして、実行した場合は成功しております。)

runasの仕様がよく分かっておらず、runas以前に実行した
net useが無効になるということなので、runas実行前に
net useで接続を1回行い、runas実行時にはUNCを利用し、
実行するというものにしたのですが、うまくいきませんでした。

環境:WindowsXP,Windows2000

お力添えをお願いいたします。

A 回答 (2件)

もうひとつ。



ファイルのコピーにXCOPYを使っていますが、「同期をとる」という利用目的ならば、ROBOCOPYを使用する手もあります。
ROBOCOPYはWindows2000やXPのリソースキットに入っているツールですが、WindowsVISTAからは標準ソフトとなっています。

ROBOCOPYの利点は差分コピーが出来るという点です。
XCOPYはすべてのフォルダとファイルをコピーしようとするので、コピーするファイルが大量にある場合、時間とネットワーク負荷がかかりますが、ROBOCOPYはファイルのタイムスタンプを見て変更されたファイルだけをコピーしてくれます。

注意点は片方向同期なので、AのPCの内容をBのPCの内容と同じには出来ますが、BのPCで変更した内容はAのPCの内容で上書きされます。
    • good
    • 0

ローカルで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などの情報など、最低でも環境や実行コマンドやどういった問題が発生したのか書かないと、誰も答えてくれませんよ。
具体的な情報を書けば書くほど解答は早いと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!