バッチファイルについてです。

このようなプログラムを実行したら、PCの人生が終わりますよね?

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

ループしますよね?

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/11/24 16:40:04

回答2件)

id:psne No.1

回答回数605ベストアンサー獲得回数334

試してみました。
結果:ループしますが終わりませんでした。(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 の限界に挑む: プロセスとスレッド
限界への道のりは長いです。

id:niseSM

やっぱ

2013/11/17 17:17:11
id:language_and_engineering

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

2013/11/18 10:05:45
id:language_and_engineering No.2

回答回数170ベストアンサー獲得回数63

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

  • id:psne
    期待のコマンド「pause」を入れた場合を追記しました。
  • id:cx20
    ちょっと話はそれますが、過去にメモ帳が何個開けるか調べたことがあります。ご参考まで。

    ■ 【Windows の限界に挑戦!?】 お使いの PC で「メモ帳(notepad.exe)」が何個起動できるか教えてください。
    http://q.hatena.ne.jp/1244362964
  • id:language_and_engineering
    参考URLをありがとうございます。

    このような実験を公募できるという事は,
    メモリ逼迫程度では恒久的なダメージを残す事は無理,という事になりますね・・・。

    やはり,ファイルシステム削除系のコマンドでないとOSは潰せないですね。
    http://matome.naver.jp/odai/2134443178667438501

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません