2016-12-28 8 views
0

私は呼び出されたときにpingで500ミリ秒の遅延を提供する.batファイルを作成する.cmdファイルを持っています。このため、私が持っているコードです:しかし、timeout.batへの出力だけでは、それはpingコマンドを認識していない理由CMD:エコーして新しい.batが動作しない?

@echo off 
exit /b 

誰もが知っている

@echo off && SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION 
(" 
    echo @echo off 
    echo ping 1.1.1.1 -n 1 -w 500 
    echo exit /b 
")>C:\...\timeout.bat 
pause>NUL 
ENDLOCAL 

?私の構文は間違っていますか?

+0

'C:\ ... \ timeout.bat'とは何ですか?私は実際には道に3つのドットを見たことはありません。それはタイプミスですか?私はそれを私の側で単純な 'timeout.bat'と置き換えました。投稿したコードを実行しても、ファイルを作成することさえできませんでした。それは私に「この時点では予期せぬ0だった」と言った。二重引用符を削除することは私の仕事でした。それでも私は「...」と混同されますが、それは何をしていますか? –

+0

'C:\ ... \'は単なるプレースホルダです。私は私の最後に実際のフルパスを持っています。 – Caspr

答えて

1

どうすれば元の意図を変更するつもりではないスクリプトをこれに変更したのですか?

@Echo Off 
([email protected] Off 
    Echo=Ping -n 1 127.0.0.1 -w 500 
    Echo=Exit/B)>"C:\NotSecretDir\time_out.bat" 
Timeout -1 1>Nul 

私はその後、元のプロセスへのpingコマンドとリターンを呼び出すバッチファイルの呼び出しが効果的に意図した半秒よりも長い時間がかかるだろうことを示唆しています。その理由から、私はあなたが気にしないで、@Timeout 1 1>Nulを使うことをお勧めします。

+0

これは私が昨日持っていたもので、私が必要としていたときには、タイムアウト2> Nul/Nobreakという単純な行を使っていました。しかし、今朝現在、コードは「内部または外部のコマンド、操作可能なプログラムまたはバッチファイルとして認識されない」というエラーを返すようになり、代わりの解決策を見つけることを余儀なくされました。 – Caspr

+0

更新:コンピュータを再起動しましたが、@タイムアウトが再び機能しています。何が原因でエラーが発生したのかまだ分かりません。 .batの作成者が頭の中で命中する必要があるもう一つの理由... – Caspr

+0

もう一度アップデート:@timeoutは再び機能しなくなりましたが、今回はエラーメッセージは表示されません。空の.batファイルでも、「Waiting for X seconds」は表示されません。いずれかのキーを押すとファイルが前進することはなく、タイムアウトが実際に終了するのはまだわかりません。空白のままです。 – Caspr

1

構文が間違っているため、バッチファイルはtimeout.batに行を書きません。

("はエラーを生成し、残りのバッチは実行されません。

関連する問題