11

現在のマシンからマップされたネットワークドライブにファイルをコピーするbatファイルがあります(1行、xcopyコマンド)。

サーバーにRDPするときに機能します。ただし、スケジュールされたタスクとして実行し、ログインしているのと同じユーザーで実行するように構成すると、機能せず、エラー0x4が発生します。

これを達成する方法はありますか?

また、dsynchronizeを試してみましたが、[同期]をクリックすると機能します。サービスとして実行すると同じ問題が発生します。

4

5 に答える 5

20

私はそれを理解することができました。次のバッチファイルは、ローカルシステムアカウントとしても、スケジューラーの下で機能します。

net use m: \\server\share /U:server\user password
xcopy C:\source m: /E /Y

毎回ネットワークドライブをマップし、そのドライブにコピーします

于 2012-04-17T13:26:44.453 に答える
10

ネットワークドライブとしてマッピングせずに、ファイルをUNCパスにコピーすることができます。UNCパスを引用符で囲んで設定してみてください。

copy * "\\server\share"

引用符がないと、Windows7コマンドラインで「構文エラー」が実行されます。

于 2014-11-28T14:17:51.517 に答える
5

リモートドライブをローカルPCにマッピングせずに、サーバーから他の何百ものサーバーにファイルをコピーしたいという同様の問題がありました。何百台ものリモートマシンをローカルPCにマップするのに十分なドライブ文字がありませんでした。リモートドライブをマップしてコピーすることはできませんでした。

copy、xcopy、またはrobocopyを使用して、copyコマンドに資格情報を指定できると思いました。ただし、どのコピーコマンドにも、リモートシステムに資格情報を提供するオプションはありませんでした。

上記の投稿のおかげで、ホストをループするだけの小さなバッチファイルを作成し、すべてのホストに対して1つのドライブマッピングだけを再利用し続けることができました。

これが私のバッチファイルです...

echo @off
for /F %%j in (pchostslist1.txt) do (
  net use z:\\%%j\c$ /user:domain\myusername mypassword
  mkdir \\%%j\c$\tmp\mynewdir
  xcopy c:\anyfile.txt \\%%j\c$\tmp\mynewdir
  net use z: /delete
)
于 2012-04-27T01:18:02.833 に答える
3

同様の問題が発生し、net useを使用する代わりに、スケジュールされたタスクの一部としてパスワードを保存する必要がありました。チェックされている場合にのみローカルリソースにアクセスできると表示されていることに気付くでしょう。

パスワードを保存する

于 2015-02-19T03:35:19.303 に答える
1

誰がネットワークドライブをマッピングしますか?また、基になるUNCネイティブパスの代わりに、マップされた名前を使用していますか?ログインスクリプトでマップされたドライブが設定されているように聞こえますが、ログインしていない場合は実行されません。したがって、スケジュールされたタスクでは、UNCパスの正しいクレデンシャルはありますが、マップされたドライブ文字はありません。 。

于 2012-04-16T14:49:11.727 に答える