※面倒だったのでreadmeはAIに記述させました、うちのAIは少し癖が強いので生暖かい目で見てやってください。とりあえず形を作って放置し、記述して動作テストが追いついていない「動かなかったり想定外の動きをする場所」があるかもしれません。動作不具合は早めに作者にお知らせください。要望なども承っております。ではご覧ください。 このたびは、テクニカルのバッチファイル「Maintenance」をご利用いただき、誠にありがとうございます。 本製品をご使用になる前に、この取扱説明書をよくお読みいただき、正しいシステム保守手順でいつまでも末永くご愛用ください。なお、読まなくてもバッチは動きますが、後で泣きを見るのは君です。 ================================================================================ 【警告・取扱上の注意】 ================================================================================ 1. 本バッチファイルを、熱湯につけたり、電子レンジで温めたりしないでください。また、過度のショックを与えたり、分解して怪しげな構文を書き足すのはやめましょう。コマンドプロンプトが突然即死(クラッシュ)しても、開発者は責任を持てません。 2. 本バッチは「管理者として実行」されることを前提に設計されています。ダブルクリックするとUAC(ユーザーアカウント制御)が「本当に実行するのか?」と脅してきますが、そこは勇気を出して「はい」を押してください。自動昇格します。 3. 実行中はUSBメモリを絶対に引き抜かないでください。特にISOファイルをマウントしたまま引き抜くと、Windowsが「あれ? ドライブが消えた!?」と大パニックを起こします。メニューの [0] を押して、静かに終了処理(アンマウント)が終わるのを待つのが大人の作法です。 4. 本ツールは「正常に起動しているWindows」のUSBルートから起動することを想定しています。ネットワーク越し(\\Server\Share)や、青い画面のWindows回復環境(WinRE / X:ドライブ)で暴れ回るのは推奨しません。メニューの隅に赤い警告が出たら、おとなしく引き返しましょう。 ================================================================================ 【ツールの準備とフォルダ構成】〜大人の事情編〜 ================================================================================ 君は「なぜ最初から便利なツール群が全部入っていないのか?」と疑問に思うかもしれない。 理由は極めてシンプルだ。ライセンス(利用規約 / EULA)と再配布の壁である。 大人の世界にはいろいろな掟があるのだ。というわけで、以下の通り各自のインターネット探索能力を駆使してツールを調達し、所定の場所に配置してほしい。 USBメモリのルートディレクトリ(一番上)は、こうなっている必要がある: [USBメモリ直下] │ maintenance_menu.bat … このバッチファイル本体(主役) │ Win11.iso … Windows 11のインストールISO(名前変更必須!) │ README.txt … 君が今読んでいるありがたい文書 │ (※履歴ログ・カルテ類) … 作業を進めるとPCスペック表や進捗ログが自動生成される │ └─ tools\ … 外部ツールをぶち込む秘密基地 ├─ Erk\ (または EEK\) │ Start Scanner.exe … マルウェア駆除の頼れる相棒(どちらでも自動判別) │ ├─ CrystalDiskInfo\ │ DiskInfo64.exe (または DiskInfo32.exe / DiskInfo.exe) │ ├─ CPU-Z\ │ cpuz_x64.exe (または cpuz.exe) │ ├─ HWMonitor\ │ HWMonitor_x64.exe (または HWMonitor.exe) │ ├─ FurMark\ │ FurMark.exe (または FurMark_x64.exe / Geeks3D FurMark.exe) │ ├─ Victoria\ │ Victoria.exe … 東欧が生んだ伝説のストレージサーフェステスター │ └─ KeyFreeze\ KeyFreeze_x64.exe … キーボード掃除中に誤入力を防ぐロックツール ★ 重要な掟 ・Win11.iso マイクロソフトから落としてきたISOファイルは、余計なバージョン名などを削ぎ落とし、潔く「Win11.iso」という名前にリネームしてバッチと同じ階層に置くこと。さもないとバッチは「ISOなんて見当たらないが?」とシラを切ります。 ・各診断ツール ZIP(ポータブル)版をダウンロードして解凍し、バージョン番号のついたフォルダ名を綺麗さっぱり消して、上記通りのフォルダ名(CPU-Z や KeyFreeze など)にして tools\ の中に放り込んでください。正しく配置されると、メニュー画面の [NG](赤)が鮮やかな [OK](緑)に変わり、綺麗に縦一列に整列します。 ================================================================================ 【バッチの階層構造と各ページの目的】 ================================================================================ 本バッチは、ただのランチャーではない。作業の目的ごとに画面の「色(カラーテーマ)」と「階層」が明確に分かれた、ページ切り替え型の統合システムである。 細かい各項目の使い方は、すべてのページの下部に用意された「[M] このページの説明」を押せばバッチ自身が丁寧に教えてくれる。ここでは全体の見取り図と、各ページの狙いを頭に入れておこう。 [全体階層マップ] ├─ 【Page 1】 シアン枠 :メンテナンスメニュー(点検・修復・アップデート) │ ⇅ ※ [K] キーで瞬時に表裏切り替え! ├─ 【Page 1】 オレンジ枠 :キッティングメニュー(販売PCの初期設定・セットアップ) │ └─ 各種サブメニュー(ウィルススキャン / ソフト更新 / メーカー別ツール 等) │ └─ 【Page 2】 パープル枠 :ツール・コマンドメニュー(重整備・負荷テスト・OS更新) └─ 【サブ階層】 コマンドリスト(CMD / PowerShell の専門コマンド集約庫) -------------------------------------------------------------------------------- ■ Page 1(シアン):メンテナンスメニュー 〜日常点検 & 障害修復の司令塔〜 お客様から預かったPCの健康診断と治療を、上から順番にこなせるよう設計されたメインページだ。 ・BitLockerの暗号化状態の監視、ウィルススキャン(DefenderからNorton、ウイルスバスター、McAfeeの最新構造まで自動で叩き起こす)、CrystalDiskInfoやErk/Eekによるスキャンがここに集約されている。 ・さらにWindows Updateや主要アプリ(Store / Edge / Office / Chrome / Acrobat)の更新画面を直接呼び出す機能、BIOSからPCメーカーを自動判別して専用ツールや修理概算ページを開く機能、SFC/DISM修復、復元ポイント作成まで、保守に必要な工程が一通り詰まっている。 ・[X] キーを押せば、PowerShellを駆使してCPU・GPU・メモリ枚数・ストレージ・ネットワーク情報を1画面に要約し、[型番]_[日時].txt でカルテとして保存できる。 ■ Page 1(オレンジ):キッティングメニュー 〜販売・納品PCの初期構築モード〜 Page 1 で [K] キーを押すと、枠線が鮮やかなオレンジ色に変わり「キッティングモード」へ変身する。 ・点検・修復ではなく「これから納品するPCを最速で仕上げる」ための専用フローだ。 ・メンテナンスモードと画面の骨格を共有しつつ、キッティングに必要な初期設定、各種アップデート、不要ファイルの掃除、回復ドライブの作成などを迷わず順番通りに消化できる。もちろん色だけでなく、作業進捗のカウントもメンテナンス用とは別腹で管理される。 ■ Page 2(パープル):ツール・コマンド 〜限界テスト & OSアップグレードの実験場〜 Page 1 で [N] キーを押すと進む第2ページ。ここからは「PCの深部をいじる」専門領域だ。 ・Win11.iso を使った自動マウント&アップグレード(古いPCを救済する要件回避モード付き)をはじめ、CPU-Z、HWMonitor、FurMarkによる高負荷ストレステスト、そして不良セクターを暴き出すVictoriaが控えている。 ・さらに、PCのキーボードをゴシゴシ拭くための「KeyFreeze(キーボード・マウス一時ロック)」を搭載。掃除が終わってキーを押せば、裏で常駐したプロセスまで自動で綺麗に消去してメニューに戻る親切設計だ。 ・対象PCの C:\AP(隠しフォルダ)へ本バッチと空フォルダ構造を現地配備する機能([A])もここに備わっている。 ■ サブメニュー:コマンドリスト 〜誤爆を防ぐ CMD / PowerShell の武器庫〜 かつて Page 2 にむき出しで並んでいた強力なコマンド群を、「うっかりキーを押し間違えて実行してしまう(誤爆)」事故から守るため、Page 2 の [1] キーの奥に隔離・体系化した専用ページだ。 ・画面は境界線によって「CMD コマンド」と「PowerShell コマンド」の上下二層に分かれている。 ・CMD側には、chkdsk、diskpart、ネットワーク初期化(ipconfig / Winsockリセット)に加え、SFC/DISM、ノートPCのバッテリー消耗率を一発でHTML化する「バッテリー劣化診断レポート」、高速起動の壁を越えて直接BIOSへ突入する「UEFI再起動」を収録。 ・PowerShell側には、全ストレージの健康状態一覧、イベントビューアーを開かずに直近のブルースクリーンや重大エラーだけを抜き出すログ抽出、OSクリーンインストール前に重宝する「サードパーティ製ドライバの一括退避(抽出)」、通信経路の詰まりを暴く詳細疎通テストなど、玄人好みのコマンドが揃っている。 ================================================================================ 【バッチに隠された「裏のカラクリ」】〜なぜこのバッチは使いやすいのか〜 ================================================================================ 1. マザーボードUUIDによる「記憶力」 作業中にPCを再起動したり、別のPCにUSBメモリを挿し替えたりしても心配はいらない。このバッチはマザーボード固有のUUIDを読み取ってPCを1台ずつ見分けており、過去30日間の作業履歴を自動で照合して、実行済みの項目に赤い [済] マークと進捗状況を自動で復元する。 2. うっかりミスを許さない「自己申告トグル」と「終了時セーフティガード」 時間がかかるWindows Updateやソフト更新、メーカーツールには [更新中] ⇄ [済] の切り替えトグルを、スリープ設定には [変更中] のステータスを搭載している。 もし作業用のスリープ解除(変更中)やアップデート(更新中)をやりっぱなしにしたまま [0] キーでバッチを閉じようとすると、終了確認画面で「おい、設定を戻し忘れていないか?」と赤い警告アラートが鳴り響く。作業後の戻し忘れによるクレームを未然に防ぐ頼もしい番人だ。 ================================================================================ 【開発者より愛を込めて(免責事項)】 ================================================================================ 本プログラムの使用によって生じた、いかなるデータの喪失、ハードウェアの異常昇天、上司からの小言、同僚からの理不尽なクレームについても、制作者は一切その責を負わないものとします。 すべては君のキー入力と、バックアップの有無にかかっています。 [更新履歴] (Changelog) Ver.0.9b オンラインアップデートに対応しました。ツール・コマンドメニュー(2ページ目)の下の方に項目を配置。ひとまずbatファイルのみアップデート出来る仕様となっております。この機能を利用するには当然インターネットが必要です。この更新により各メニューのVer表記が変数を用いたものになっております(表記ズレが起こりそう)。表記ズレと言えば、メニュー上部の実行パス表示部分に問題があり、batファイルをルート以外で実行すると派手にズレます。 ・Cloudflare Tunnel 経由によるオンライン・セルフアップデート機能の実装 - サーバー上の version.txt と照合し、最新バージョンの自動検知・差分判定に対応 ・説明書(readme.txt)のスマート同期機能を追加 - ローカルの既存ファイル名(*readme*.txt)を自動検出し、名称を維持したまま最新化 ・更新履歴ビューアーのマルチ文字コード・改行コード対応 - UTF-8 / Shift-JIS (CP932) の自動判別、CRLF / LF の改行吸収処理を実装 - テキスト内の「[更新履歴]」以降をコンソールへ正確に抽出・スクロール表示 ・PowerShell 非同期委託による完全自動更新・自動再起動機構の実装 - 旧プロセスの安全な終了待ちとファイルロック解放の自動制御 - 特殊文字(角括弧 [] や空白)を含むパスに対応(-LiteralPath 適用) - ダウンロード・ファイル整合性検証・上書き・最新版の起動を完全自動化 Ver 0.9a パフォーマンス改善: ハードウェア情報およびCドライブ容量のキャッシュ機構(SPEC_%PC_UUID%.dat)を新設。初回起動時に実測値をキャッシュ保存し、2回目以降の起動時は PowerShell インスタンスの起動オーバーヘッドをスキップして for /f のみで即時展開する超高速起動アーキテクチャを実装。 機能追加: メンテナンス、キッティング、ツール・コマンドの各メニューに、ハードウェア情報・空き容量の再取得サブルーチン([R]efreshキー)を配備。作業中のディスク容量変化や増設情報を任意のタイミングで再取得・キャッシュ上書きできる機能を追加。 バグ修正: クイックPLUSメニュー(QUICK_PLUS_MENU)終了時に未定義ラベル(:MAIN_MENU)へジャンプしてバッチ全体がクラッシュする不具合を修正。 バグ修正: Office設定サブメニュー(SETUP_OFFICE_MENU)において、選択肢判定前にログ記録サブルーチンを呼び出したことで %ERRORLEVEL% が破壊され、直下のセキュリティメニューへ突き抜けてクラッシュする致命的不具合を修正。 機能改変: キッティングメニューの構成を実務フローに合わせて再編。[7] を Pegasus サイト直接オープン([[https://ex.Pegasus2.jp/tb/](https://ex.Pegasus2.jp/tb/)]を開く)として独立配置し、リモサポアイコン配置を新設の [I] キーへ移行。ログ照会および進捗管理の母数を全11項目(B + 1-9 + I)へ拡張・同期。 仕様統一: サブメニュー形式の各機能(Office設定、クイックPLUS、セキュリティソフト、OEMツール)において、項目選択時の即時フラグ付与を撤廃。作業完了後に [0] で抜けるタイミングで自己申告トグル(完了 [済] / 保留)を選択できる確認画面(CHECK_STATE)を新設・統一。 UI改善: キッティングメニュー(SETUP_PAGE1)の項目末尾インデントを再計算し、各項目の右端に表示される進捗タグ([済] / [更新中])の表示位置を垂直に美しく整列。各メニューフッターに [R]efresh のガイド表記を追加。 メンテナンス・キッティングメニューの[済]/[使用中]などのフラグに、[未](ダークグレー)を追加。まだ実行していない項目を可視化しました。 Ver 0.8b 機能追加: 新サブメニュー「コマンドリスト」を新設。CMDとPowerShellの各コマンドを境界線で二分し、システム整合性修復(SFC/DISM)、バッテリー劣化診断(powercfg)、UEFI直行再起動、物理ストレージ健全性確認、重大ログ抽出、ドライバ一括退避、詳細疎通テストを統合。 機能追加: コマンドリスト内に「このページの説明」画面([M]キー)を新設。30行×54列基準に準拠した2ページ構成(CMD編 / PowerShell編)で各コマンドの用途や仕様を網羅。 機能追加: Page 2 にキーボード清掃ロックツール「KeyFreeze」の起動機能([L]キー)を追加。操作案内および入力無効化タイムラグの注意喚起を表示し、清掃完了後のキー入力に合わせて taskkill で常駐プロセスを自動強制終了する安全なライフサイクル管理を実装。 UI改善: Page 2(ツール・コマンド)に直書きされていた個別コマンド群を撤去し、新設の「コマンドリスト」へ集約。誤爆防止と画面レイアウトのスリム化を実現。 Ver 0.7b バグ修正: ウィルスフルスキャンメニューにおける McAfee 起動処理を全面改修。存在しない旧コンポーネント(McClientAnalytics.exe)を撤去し、最新アーキテクチャ(WPS基盤 / mc-launch.exe)の優先起動および WMI(SecurityCenter2)や旧UIホストを網羅する多段フォールバック探索を実装。 バグ修正: ANSIエスケープシーケンス(カラー定義)をバッチ冒頭で一括定義するようリファクタリング。画面遷移順による文字色の紫漏れ・色化けを解消。 機能追加: ソフトアップデートメニューに「Microsoft Office」の更新確認・適用機能を追加。Click-to-Run クライアント(OfficeC2RClient.exe)を直接呼び出し、アプリを開かずに更新ダイアログを単体起動する処理を実装。 UI改善: オープニング画面(デモ画面)の枠線のみを紫(ESC_PUR)に分離し、中央タイトル英字を白文字で抜くことで視認性とコントラストを向上。 Ver 0.6b バグ修正: CMDパーサーの構文解釈エラー(半角カッコ () および アンパサンド & に起因するクラッシュ)を完全に排除。if ブロック構造をフラット化。 バグ修正: 遅延展開(enabledelayedexpansion)の副作用による文字化けや変数消失(! 記号の誤認)の問題を解消。 UI改善: キッティング(販売PC設定)メニューのメインカラーをオレンジに変更し、メンテナンスモード(シアン)と視覚的に完全に分離。 Ver 0.6a 機能追加: Windows Update、ソフト更新、メーカーツールの各項目に「自己申告制トグル(更新中 ⇄ 済)」を実装。 機能追加: 電源・スリープ設定に「変更中」ステータスを追加。 機能追加: 終了確認画面(EXITメニュー)にセーフティガードを実装。「変更中/更新中」の項目が残っている場合、戻し忘れ防止の警告アラートを表示する仕様に変更。 仕様変更: 進捗カウントのロジックを改修。同一作業を複数回実行しても進捗分母(X/10 または X/11)がオーバーフローしないよう重複排除処理を実装。 Ver 0.5b 機能追加: 過去30日間の作業履歴(ログ)を自動で読み込み、メニュー画面に実行済みの赤色 [済] マークと進捗バナーを自動反映する機能を実装。 機能追加: ハードウェア固有ID(マザーボードUUID)による個体識別機能を導入し、USBを挿し替えても再起動を跨いでもPCごとの状態を保持する仕様に変更。 機能追加: 過去の作業履歴詳細を閲覧できる [L] メニューを新設(メンテ/キッティング両対応)。 Ver 0.4a 機能追加: 「販売PC 初期設定 & キッティングメニュー」を新設し、既存のメンテナンスモードとの双方向トグル切り替え([K]キー)を実装。 機能追加: メニュー最上段に「BitLocker 状態確認・管理」機能を追加(Windows 10/11 Pro/Home 両対応)。 UI改善: コマンドプロンプトの標準幅(80桁)でのレイアウト崩れを防ぐため、すべてのリスト行の文字幅を全角54文字(半角108桁)以内に収まるよう文言をスリム化・最適化。 Ver 0.3b 機能追加: PCスペック&システム詳細レポート機能([X])を大幅強化。PowerShellを活用し、CPU、メモリ枚数・構成、GPU、ネットワーク状態、ストレージ情報を整形して表示。 機能追加: 取得したPCスペックレポートを、PC型番+タイムスタンプのファイル名でテキスト保存する機能を追加。 機能追加: Page 2 (詳細診断・保守メニュー) に「デバイスマネージャー」を呼び出す機能を追加。 Ver 0.2a 機能追加: Page 2 (アップグレード & ハードウェア診断メニュー) を新設。CPU-Z, HWMonitor, FurMark, Victoria などのポータブルツール起動に対応。 機能追加: ネットワークリセット、DNSフラッシュ、ディスクチェック (chkdsk) などの保守コマンド実行機能を統合。 機能追加: C:\AP への隠しフォルダ展開・バッチ配備機能を追加。 Ver 0.1a 新規作成: USB起動型の ITメンテナンス用 バッチランチャーとして初期リリース。 機能: CrystalDiskInfo、マルウェアスキャナー (Erk/Eek) などの外部ツールの配置有無検知と起動、SFC/DISM統合修復コマンドの実装。