2011-10-31 6 views
6

バッチファイルを自動的に実行するときに、バッチファイルを実行したときにコマンドの間に数秒間停止するように書き込むにはどうすればよいですか?バッチファイルのスリープコマンド?

コンテキスト:

psexec \\server -u user -p pass cmd 
[there needs to be a pause here for psexec to establish a connection] 
dir /s >output.txt \\server\shared 

*注:これはリモートでよりローカルマシン上のディレクトリで実行するためにはるかに高速だし、時間がでているので、私はいないローカルPSEXECを使用して、dirコマンドをサーバー側を実行し、理由があります本質

私はこれを手でやっているとき、明らかに簡単です。私はただ待っています。しかし、バッチファイルを実行すると、最後のコマンドの完了ステータスにかかわらず、すべてのコマンドを互いに近い瞬間速度で実行できます。どのように私は休憩を入れますか?

+0

[バッチファイルでスリープする]の可能な複製(http://stackoverflow.com/questions/166044/sleeping-in-a-batch-file) –

+1

http://stackoverflow.com/a/7958678/206730より有用です、おそらく答えとしてマーク – Kiquenet

答えて

2

私はここで情報を考える:http://malektips.com/xp_dos_0002.htmlは、エラー処理の場合は(?リモートマシンが起動していない場合はどのような)しかし、まだありますI.

よりも良い、それを説明するだろう。 cmd.exeはほとんどのリモートアクティビティを実行するのには全く役に立たず、powershellを使うともっと多くのことが可能になります。

EDIT ::

実際には、あなたがPSEXECでローカルに保存されたプログラムを実行することができる(これは全体のコピーと、ローカルサーバー側を実行されます) - それはより現実的な選択肢で使用するのでしょうか?

実行するコマンドがわからないと、それ以上の処理が難しくなります。

EDITそれはあなたが実行している1つのコマンドだけなら(2)::

を、単に「remote_dir_listing.cmd」のような、専用のファイルに格納し、その後でPSEXECを使用します。

psexec \\server -u <user> -p <pass> -c -f remote_dir_listing.cmd 

これは、実行するたびにローカルファイルをリモート側に強制的にコピーします(展開したい場合に備えて)。このようにして、一時停止の必要性を回避することができます.psexecがパイプを開いて実行し、完了すると自動的に閉じます。

+0

素晴らしいです!ありがとう! – jayjyli

3

2003 Windows用リソースキットは、Windows XPにインストールされます。コマンドバッチファイルから使用できるSLEEP.EXEが含まれています。

ダウンロードは、Windowsの最新バージョンでtimeoutコマンドがあり、ここでhttp://www.microsoft.com/download/en/details.aspx?id=17657

7

です:Windowsの  Vistaの/ Windows上で

timeout /T 10 
24

  7あなたは、timeoutコマンドを使用することができます。

timeout /T [delay in seconds] /NOBREAK > NUL 

以前のバージョンのWindowsでは、pingコマンドを使用できます(pingコマンドには1000各反復間の遅延の ミリ秒):

ping -n [delay in seconds + 1] 127.0.0.1 > NUL 

Windows Server 2003のようなWindowsの一部のバージョンでは、()の睡眠を持っています。exeファイルの実行:

sleep [delay in seconds] 

注:Windows Resource kit for 2003sleep.exeコマンドが含まれています。

Windowsのバージョンがわからない場合は、ping hackを使用するだけで利用できます。

+1

Googleからここに来るほとんどの人は、この回答(受け入れられたものではない)が最も有用であると判断します。 –

+1

TCP/IPが普及しているので、TCP/IPが使用されている場合(クライアントのWindowsマシンはNetBEUIまたはIPX/SPXを代わりに使用できます)、* ping *を使用するのが通常は機能します。 Ref:http://www.techrepublic.com/article/get-it-done-the-complete-windows-2000-client-tcp-ip-configuration-guide/ –