をコピーするので、私は、サーバーリストファイルのような各マシンのIPアドレスが含まれています:私のバッチファイルでNET USE複数のサーバは、ファイル
10.10.1.3
10.10.1.4
10.10.1.5
10.10.1.6
10.10.1.7
を:
SET File=C:\Files\servers.txt
SET User=user
SET Password=pass
IF EXIST b:\ (
NET USE b: /DELETE /Y
)
FOR /F %%A IN (%File%) DO (
START /WAIT NET USE b: \\%%A\C$\Temp /user:%User% %Password%
COPY C:\Logs\L1.log b:\L1.log /Y
IF EXIST b:\ (
NET USE b: /DELETE /Y
)
)
問題が最初のサーバーに表示されるエラーメッセージが表示されます。システムは指定されたドライブを見つけることができませんが、他のサーバーではすべてがうまく動作します。 私はそれがNET USEを使って何かだと思うかもしれません。
いくつかのサーバーをループし、各サーバーのマップネットワークコピーファイルをコピーして次のサーバーに移動するまで待機する方法はありますか?
EDIT:
私はこの問題を更新する: ソースマシンとターゲットマシンの異なるドメインの両方です。 私は両方のマシンでadminとしてユーザーを定義しています。 マシンは互いに知っています(\ server \ C $ \ tempのようなソースマシンでターゲットフォルダを開き、そこに必要なものを貼り付けることができます)
net useを使わずにファイルをコピーしようとしましたが、 C:¥file.log¥server¥c $¥temp¥file.log(各サーバー)(5つ)と3台のサーバーで動作し、残りの2つはエラーが発生しました:ログオン失敗:不明なユーザー名またはパスワードが間違っています
FOR /F %%A IN (%File%) DO (
COPY C:\temp\file.log \\server\c$\temp\file.log /Y
)
何が問題になりますか?
助けてください? ありがとうございます。
'NET USE b:/ DELETE/Y'ではなく' NET USE b:/ DELETE:Y [ES] 'ではありませんか? – aschipfl
netコマンドでstartコマンドを使用する必要はありません。バッチファイルは順次処理です。次のコマンドは、前のコマンドが終了するまで実行されません。 – Squashman
@aschipfl:それは単なる 'net use b:/ delete'です。 – Stephan