魔法の呪文・・・またたび♪♪♪
むか~~~し
むかし
の
ずっと
むかしから
画像集めが 趣味!?
だったw
まあ 内容は ご想像に・・・
でも
愛用の 画像びゅわ~ 「Vix」で
画像が表示されない!
しばしば いぬいぬ
でも
近年・・・
あれ???
ペイントなら 表示できるぞ
フォトなら 表示できるぞ
が 散見される
【Gemini】様に
泣きついた
なんで~~~
それは・・・
というわけで
拡張子と中身(画像)が
ちゃんと 紐づいているか?
の
チェッカーすくりぷと!
# ==== ちぇっか~
# 【Gemini】様 作成
# 15万ファイル、30GB!なかなかのボリュームですね。
# 現在のスクリプトをベースに**「表示(GUI)を捨てて、爆速で全ファイルをスキャン&隔離する」**専用の「仕分け職人」に改造しましょう。
# ### 🛠️ 15万枚スキャン&隔離スクリプト(CUI版)
# 表示機能を省き、ログ出力とファイルの移動(隔離)に特化させました。
import os
import shutil
from PIL import Image
# --- 設定 ---
# チェックしたい親フォルダ
INPUT_DIR = r"F:\画像ふぉるだ"
ISOLATION_DIR = r"F:\偽装画像-隔離ふぉるだ" # 隔離先のフォルダ
TARGET_EXTENSION = '.jpg'
def fast_checker():
# 隔離フォルダがなければ作成
if not os.path.exists(ISOLATION_DIR):
os.makedirs(ISOLATION_DIR)
count_total = 0
count_fake = 0
count_error = 0
print(f"--- スキャン開始 ---")
print(f"対象フォルダ: {INPUT_DIR}")
# os.walkでサブフォルダまで全部回る
for root, _, files in os.walk(INPUT_DIR):
for file in files:
if file.lower().endswith(TARGET_EXTENSION):
count_total += 1
full_path = os.path.join(root, file)
try:
# 画像のヘッダーだけを高速に読み込む
with Image.open(full_path) as img:
actual_format = img.format # JPEG, WEBP, PNGなど
if actual_format != 'JPEG':
# 偽装判明!隔離する
count_fake += 1
dest_path = os.path.join(ISOLATION_DIR, file)
# 同名ファイルが隔離先にあった場合の対策
if os.path.exists(dest_path):
dest_path = os.path.join(ISOLATION_DIR, f"{count_fake}_{file}")
shutil.move(full_path, dest_path)
print(f"【隔離】{file} (正体: {actual_format})")
except Exception as e:
# そもそも画像として壊れている場合
count_error += 1
print(f"【エラー】{file} : {e}")
# 1000枚ごとに進捗を表示(安心用)
if count_total % 1000 == 0:
print(f"... 現在 {count_total} 枚チェック完了")
print(f"\n--- 完了報告 ---")
print(f"総チェック数: {count_total} 枚")
print(f"隔離成功(偽装): {count_fake} 枚")
print(f"読込不能(破損): {count_error} 枚")
print(f"隔離先: {ISOLATION_DIR}")
if __name__ == "__main__":
fast_checker()
### ⚡ このスクリプトのポイント
# 1. **再帰的スキャン:** `os.walk` を使っているので、指定したフォルダの中にある子フォルダ、孫フォルダまで全部自動で潜ります。
# 2. **高速化:** `with Image.open()` を使い、中身を画面に描画せずに「形式判定だけ」してすぐ閉じるので、15万枚でも現実的な時間(PC性能によりますが数分〜数十分程度)で終わります。
# 3. **隔離(MOVE):** `shutil.move` で、偽装JPGを物理的に別フォルダへ移動させます。これでVixのリストから「開けない邪魔な奴ら」が一掃されます。
# 4. **同名ファイル対策:** 15万枚もあると、別々のフォルダに同じ `001.jpg` があるかもしれませんが、移動時に上書きされないよう連番を振る処理を入れています。
# ### 実行前の注意
# * **隔離フォルダ (`ISOLATION_DIR`)** は、チェック対象の外(同じFドライブ内なら移動が瞬時です)に作るのがおすすめです。
# * まずは、少ないファイルが入ったテストフォルダで動くか試してみてくださいね。
# 15万枚の「お掃除」、応援しています!終わった後のスッキリ感はすごそうですね。
# # ==============================
じっこうけっか!
偽装かどうか?点検対象 30,482,956,288 B 100% 143471 ふぁいる
偽装判定されて隔離された 503,758,848 B 100% 1612 ふぁいる
多いのか??? 少ないのか???
それは じじぃ~ にも
わっからん
じじぃ~

魔法の呪文・・・またたび♪
windowsぱそこん
しらない あいだに
いんすとーる そふと
メガ盛;;
コントロールパネル
を眺めては
溜息 sigh
【Gemini】様に
泣きついた
呪文を 教わった!
すたーと
たーみなる(管理者)
黒画面で・・・
呪文を 唱える!
るみぱす・・・以下自粛
以下の塊をすべてコピーして、
ターミナルに貼り付けてEnterを押してください。
```powershell
$path = "$env:USERPROFILE\Desktop\AppList_New.csv"
$keys = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*", "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*", "HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*"
Get-ItemProperty $keys | Select-Object @{n='名前';e={$_.DisplayName}}, @{n='発行元';e={$_.Publisher}}, @{n='インストール日';e={$_.InstallDate}}, @{n='サイズ';e={$_.EstimatedSize}}, @{n='バージョン';e={$_.DisplayVersion}} | Where-Object { $_.名前 -ne $null } | Export-Csv -Path $path -Encoding UTF8 -NoTypeInformation
```
* **デスクトップを確認:**
「**AppList_New.csv**」という
新しいファイルができているか確認してください。
### LibreOffice Calc での注意点(追加)
この方法で書き出すと、
「インストール日」が `20240520` のような形式で表示されることがあります。
1. **LibreOffice** で開く(前述の通り UTF-8 を選択)。
2. 日付の列が数字の羅列になっていたら、列を選択して **右クリック > セルの書式設定 > 数値 > 日付** を選ぶと見やすくなります。
# ==============================
てぃるとうぇ~いと級
の
破壊力
じじぃ~
魔法の呪文・・・なのか???
ぽよ~~~ん
ぽよよ~~~ん
棒フォルダのファイル数が
多すぎて
処理が 重い と
愚痴ったら・・・
【Gemini】様が
魔法の呪文を 教えてくれた!
ファイラー 右クリック
ターミナルで開く
ぶらっく 画面で
呪文を 唱える
てくまく・・・以下自粛
```powershell
Compress-Archive -Path "C:\_CC-GOMI" -DestinationPath "$HOME\Desktop\重複.zip"
```
C:\_CC-GOMI フォルダが
C:\_CC-GOMI フォルダを
開くことなく
ですくとっぷ に 重複.zip
を作成する!
便利でしょ! と 自画自賛する
【Gemini】様がを
冷ややかに 見つめる じじぃ~
ち・ちがうぞ;;
悲しい
お年頃♪
じじぃ~

てべり vs 動画配信
春は曙
一年中眠い
今日 この ゴロゴロ
てべり・・・
見なくなったね;;
もともと 見る方じゃなかったが
それでも 見ていた
が!
と ある 事情で
報道番組 見なくなった
いや??? 見れなくなったw
でぃーが 1
と
でぃーが 2
の 接続する アンテナ線を
外して・・・
外して・・・
外して・・・
そのまんま;;
もはや アンテナ線・・・
どこいった?
である!
そして
動画配信
Google様に
1280円くらい 支払って
YuuTube 広告なし!
dアニメストア
660円くらい 支払って
視聴
やっぱ!
広告 無
ええよな・・・
広告嫌いな
お年頃♪
じじぃ~

表計算 の あれ?
むかしむかし
の
そのむかし
まだ 表計算が なかった
今は 表計算 ごろごろ
Excel・・・高いだよ;;
昔は CD-ROM で インストールできた
でも いまは できない
そんなんこんな で
Excel OpenIffice
LibreOffice
と
点々 と してきた
が!
使い方 よ~~~わからん!
【Gemini】様に お伺い!
# ==== 【Gemini】様
「表記のゆれ」は、表計算における最大の敵です!
たとえば、後で「食費」の★を出そうとしたときに、データが「食費」「しょく
ひ」「Food」とバラバラだと、コンピュータは別物として扱ってしまい、正しく
集計できません。
LibreOffice Calcの「入力規則」を使えば、スマホのセレクトボックスのように
、
マウスでポチッと選ぶだけで入力を完結させられます。
設定方法はとても簡単です。
「入力規則」の設定ステップ
1. 項目リストを作る
* 家計簿シートの端っこか、別シート(「設定シート」など)に、使いたい
項目を縦に並べて書きます。
* 例:`食費`、`日用品`、`住居費`、`交際費`、`その他`
2. 設定したいセルを選ぶ
* 家計簿の「項目」を入力する予定の列(たとえばB列全体など)を
マウスでドラッグして選択します。
3. メニューを開く
* 上のメニューバーから
「データ」 > 「入力規則...」 をクリックします。
4. リストを指定する
* 「条件」タブの「入力値の型」で 「リスト」 を選びます。
* 「ソース」の欄に、手順1で書いた項目を直接入力するか、
マウスでその範囲を選択します。
5. 完了!
* 「OK」を押すと、
そのセルをクリックしたときに下向きの矢印(▼)が出て、
選ぶだけで入力できるようになります。
なぜこれが「失敗しない」鍵なのか?
* 入力が楽: キーボードを叩く回数が減ります。
* pandasとの相性が抜群: 表記が統一されているので、Pythonで読み込んだ後
に `df['項目'] == '食費'` と指定するだけで、完璧な抽出ができます。
* 分析が正確: 「あ、先月は『外食』って書いたっけ?」と悩む必要がなくな
ります。
まずは 「食費・固定費・その他」 くらいの、超ざっくりした3つくらいの選択
肢から始めてみるのが、長続きのコツですよ!
最初はこれくらいの「ゆるさ」で設定してみますか?
# ==============================
