人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

バッチファイルについてです。
このようなプログラムを実行したら、PCの人生が終わりますよね?

ファイル名:Owari.bat
start Owari.bat

ループしますよね?

●質問者: niseSM
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● ぽけっとしすてむ

試してみました。
結果:ループしますが終わりませんでした。(Windws 8)

----
追記で実験してみましょう。

SET /a count=%1+1
start a.bat %count%
pause

実験のために、このようなバッチファイルを作成します。(a.bat)
start で新たに起動する毎に呼び出された回数が表示されます。
カウントは0から開始されます。

f:id:psne:20131118083546p:image
実行すると、カウントしながら多重に開いていきます。

f:id:psne:20131118083816p:image
213個目を開こうとして止まってしまいました。
今回は、最初のウインドウ+212個開かれたところで終了です。

では、最後の一行にpause を入れてみましょう。
pause は、タスクマネージャにてカウント数を確認するために使用します。

f:id:psne:20131118085102p:image
タスクマネージャにて、どのウインドウが何番目かが分かるようになりました。
しかし、このコンピュータでは213個くらいが限界のようです。

f:id:psne:20131118085338p:image
開かれているものをすべて選択して、タスクの終了を押します。

f:id:psne:20131118085528p:image
すっきりですね。
これくらいならへっちゃらのようです。

おまけ。
f:id:psne:20131118085847p:image
一行追加すると213個の壁を突破することができます。たいへんですね。

Windows: プロセスとスレッド
Windows の限界に挑む: プロセスとスレッド
限界への道のりは長いです。


niseSMさんのコメント
やっぱ

lang_and_engineさんのコメント
回答者No.2です。回答しておきながら,ビビりなので実行する勇気はありませんでしたが,試して下さってありがとうございました。すごく勉強になります・・・。

2 ● lang_and_engine

startした時点で、呼び出しもとのbatが実行終了するので、新しく呼び出されたbatに処理が引き継がれるだけなので、単なるループになります。
よくあるwhileの無限ループと変わりません。
この方針でPCの人生を終わらせるのは無理で、フリーズさせるだけで再起動すれば生き返りますが、バッチの最後に「pause」という行を追記すればフリーズは可能です。
※責任は取れません

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ