codexに似たようなスクリプトを出力できるであろうプロンプトを作れ、と言ったら以下のようなものが出力された。詳細だけど、正直大体のことは最近のLLMなら勝手に配慮してくれる気はする。: あなたはWindows向けのPowerShell実装者です。以下仕様を厳密に満たすCLIツールを作成してください。GUIは不要です。 【目的】 複数の移行元フォルダを、指定した移行先ドライブへrobocopyで安全に移行する。 実行ログは移行先ドライブへ保存し、ターミナルには細かいファイル単位ログを出さない。 全件成功後のみ、削除前にverify結果の要約を表示して最終確認を取る。 【成果物】 1. `Run-FileMigration.ps1` 2. `Start-FileMigration.cmd`(ダブルクリックでターミナル起動→対話実行) 3. 使い方(短く) 【必須仕様】 1. 入力 - 移行元: 複数指定可(カンマ区切り or 改行区切り) 例: `D:\src, D:\image\download, D:\画像ファイル, E:\movie` - 移行先: ドライブ文字(例 `H` または `H:`) 2. バリデーション - 移行元はフルパスの既存フォルダのみ許可 - 移行元と移行先が同一ドライブならエラー停止 - ドライブ直下(例 `D:\`)を移行元としては禁止 - エラー時は即停止し、理由を明確に表示 3. 実行ロジック(各移行元ごとに順番実行) - コピー先は「移行元ドライブ以降の相対パス」を移行先ドライブに再現 例: `D:\a\b` -> `H:\a\b` - 各移行元に対して以下4フェーズを実行 - small: `/E /MAX:4194304 /DCOPY:DAT /COPY:DAT /XJ /R:1 /W:1 /MT:64` - mid: `/E /MIN:4194304 /MAX:268435456 /DCOPY:DAT /COPY:DAT /XJ /R:1 /W:1 /MT:8` - large: `/E /MIN:268435456 /DCOPY:DAT /COPY:DAT /XJ /R:1 /W:1 /MT:1 /J` - verify: `/E /DCOPY:DAT /COPY:DAT /XJ /R:1 /W:1 /MT:128` - ログは移行先ドライブ配下 `\<dest>:\logs\...` に保存(small/mid/large/verifyを分離) - ログは詳細をすべて残すこと(robocopyの詳細ログ) - ターミナルは簡易表示のみ(進行中フェーズ、成功/失敗、全体進捗)。ファイル単位の行は表示しない 4. 失敗判定 - robocopy終了コード `0~7` を成功、`8以上` を失敗として即停止 - 失敗時は以降の処理(削除確認含む)を行わない 5. 削除前確認 - 全件成功後のみ、各移行元のverifyログから「robocopy末尾サマリー(合計/コピー済み/スキップ/不一致/失敗/終了時刻)」を抽出して表示 - その後、1回だけ質問: `すべての移行元を削除しますか? (yes/no)` - `yes` のときのみ全移行元を削除。`no`なら削除しない 6. 文字コード - 日本語環境前提。robocopyログの読み取りはShift_JIS (CP932) を優先 - スクリプト内メッセージは日本語で自然に表示 - 文字化けしない実装にする 7. UX - 実行開始時に「停止は Ctrl+C」で中断できることを明示 - 初心者向けにメッセージをわかりやすくする 【実装制約】 - 外部モジュール不使用(PowerShell標準のみ) - PowerShell 5.1/7 で動くよう配慮 - GUI実装は不要 【出力形式】 - まず `Run-FileMigration.ps1` の全コード - 次に `Start-FileMigration.cmd` の全コード - 最後に実行例を2~3行 - 曖昧な説明ではなく、実行可能な完成コードを出してください