重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

よろしくお願いします。
バッチ処理にて下記をさせたいのですがうまくいきません。
1.WOL(Wake on Lan)で同一ネットワーク上のPCを立ち上げる
2.60秒後リモートデスクトップ接続する。
3.立ち上がってから45秒後、リモートデスクトップで接続したPCの指定したフォルダを同一LAN上のNASにコピーする。

1と2はうまくいきました
@echo off

set MacAd=(MAC ADDRESS)

set MacAd=%MacAd:-=:%

powershell "$dst=[byte[]]("""%MacAd%""".split(""":""") | ForEach-Object{[Convert]::ToInt32($_, 16)});$magicPacket=([byte[]](@(0xFF)*6)) + $dst * 16;$client=new-object System.Net.Sockets.UdpClient;$target=[System.Net.IPAddress]::Broadcast;$client.Connect($target,9);$client.Send($magicPacket,$magicPacket.Length)|out-null;$client.Close()"

timeout /t 60 /nobreak >nul

Set SERVER=192.168.X.YY
Set USERNAME=username
Set PASSWORD=XXXXX

Cmdkey /generic:TERMSRV/%SERVER% /user:%USERNAME% /pass:%PASSWORD%
Start mstsc /v:%SERVER%
Timeout 2
Cmdkey /delete:TERMSRV/%SERVER%

timeout /t 45 /nobreak >nul

XCOPY "C:\hoge" "\\192.168.X.200\disk1\hoge\" /d /e /h /r /y

おそらく最後の1行がおかしいと思うのですが、どのようにしたらよいでしょうか?

A 回答 (2件)

質問を誤読していました。

PC1 のファイルをPC2にコピーするのかと思ってました。

PC1 => RDP接続 => PC2 で、
RDP上の操作でPC2上のファイルをNASにコピー
ですね。
そういうことは出来ません。
XCOPYコマンドはPC1上で実行されます。

PC2起動後にRDP接続せず、代わりに、

net use X: \\PC2\C$ /user:PC2ユーザー PC2パスワード
xcopy X:\hoge "\\192.168.X.200\disk1\hoge\" /d /e /h /r /y
net user X: /delete

でしょう。
    • good
    • 0
この回答へのお礼

artoo様

お~~~!!! できました。

最終行の
XCOPY "C:\hoge" "\\192.168.X.200\disk1\hoge\" /d /e /h /r /y
を削除し、

代わりに
net use X: \\PC2\C$ /user:PC2ユーザー PC2パスワード
xcopy X:\hoge "\\192.168.X.200\disk1\hoge\" /d /e /h /r /y
net user X: /delete

を追加したらコピーできました。勿論、PC2やPC2ユーザー、PC2パスワード、IP ADDRESSは適切なものを入れました。

バッチファイル1回の実行で済みました。このバッチファイルをPC1のタスクスケジューラーに登録しておきます。そうすれば自動ですね。

PC2のC:\にネットワークドライブを割り当てれば何となくできると思ていたのですが、目からうろこです。

お世話になりました。

お礼日時:2020/10/31 15:05

起こっている現象について書かれておらず不明です。


XCOPYでエラーが起こっているということでしょうか?どんな??

ぱっと見では、net useコマンドによるネットワークドライブの認証がないですが、両方のPCでユーザID・パスワードが同じ、もしくは同一ユーザーでAD認証でしょうか?でなければ、net useでユーザIDとパスワードを指定して接続が必要です。
    • good
    • 0
この回答へのお礼

artoo様
ご回答ありがとうございます。

現象ですが、
リモート接続したPC2のC:\hogeのフォルダにexcelやaccessなどのファイルが数個あります。同一ネットワーク上のNASの指定したフォルダーにコピーできてません。

ドメイン環境はありません。
PC1(Windows 10 Pro)からPC2(Windows10 Pro)にRDPで接続しているだけです。pc1とpc2は同一ユーザー名ではありません。

PC2のタスクスケジューラーでNASへのデータバックアップを取るようにしたかったのですが、トリガーの設定で初回起動時のみコピーを取る(バックアップする)項目が見当たらなかったため、このようなことを思いつきました。
PC2は1日中つけたままではなく、誰かが使ったら電源OFFにしてしまいます。

お礼日時:2020/10/31 11:53

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