隠しファイルの掃除!
ふきふき
年末の おおそうじ!
では ありませんが
音楽ファイル
*.mp3
の整理整頓で
以前から 気になっていた
「ファイル」が・・・
音楽CD を MP3に変換するとき
いんたーねっと うえの
あるばむあ~と
を探してきて くれるんですが
通常 えくすぷろーら では
ファイルの存在すら 表示されない!
そんな 隠し属性の ファイルが
潜んでいる と
疑っていて・・・
【chatGPT】様に
泣きついた。
探し出して。指定の場所に移動して!!!
【chatGPT】様 がってん! だぁ~
# ==== 【chatGPT】様のお返事 コピペ
このタスクを実現するPythonスクリプトを作成できます。以下のようなスクリプトで、「SHA」属性を持つJPGファイルを検索し、属性を変更してリネーム、一カ所に集める作業を行えます。
### 機能
1. 指定されたディレクトリ(D:¥)を再帰的に検索。
2. 「SHA」属性を持つ「.jpg」ファイルを見つけ出す。
3. 属性を変更して通常のファイルとして扱えるようにする。
4. ファイル名の衝突を避けて新しい保存先ディレクトリに集める。
以下にスクリプトを示します。
---
### スクリプト
```python
import os
import shutil
import ctypes
from datetime import datetime
def is_sha_attribute(file_path):
"""Check if a file has the SHA attribute."""
FILE_ATTRIBUTE_HIDDEN = 0x2 # Hidden
FILE_ATTRIBUTE_SYSTEM = 0x4 # System
attrs = ctypes.windll.kernel32.GetFileAttributesW(file_path)
if attrs == -1:
return False # File not found
return (attrs & FILE_ATTRIBUTE_HIDDEN) and (attrs & FILE_ATTRIBUTE_SYSTEM)
def clear_sha_attribute(file_path):
"""Remove the SHA (Hidden + System) attribute."""
attrs = ctypes.windll.kernel32.GetFileAttributesW(file_path)
if attrs == -1:
return False
new_attrs = attrs & ~0x2 & ~0x4 # Remove Hidden and System bits
return ctypes.windll.kernel32.SetFileAttributesW(file_path, new_attrs)
def find_and_process_files(root_dir, output_dir):
"""Find JPG files with SHA attribute and process them."""
if not os.path.exists(output_dir):
os.makedirs(output_dir)
for dirpath, dirnames, filenames in os.walk(root_dir):
for filename in filenames:
if filename.lower().endswith('.jpg'):
file_path = os.path.join(dirpath, filename)
# Check for SHA attribute
if is_sha_attribute(file_path):
print(f"Found: {file_path}")
# Clear SHA attribute
if clear_sha_attribute(file_path):
print(f"Cleared SHA attribute: {file_path}")
# Avoid filename collision
timestamp = datetime.now().strftime('%Y%m%d%H%M%S%f')
new_filename = f"{os.path.splitext(filename)[0]}_{timestamp}.jpg"
new_path = os.path.join(output_dir, new_filename)
# Move the file
shutil.move(file_path, new_path)
print(f"Moved to: {new_path}")
else:
print(f"Failed to clear SHA attribute: {file_path}")
if __name__ == "__main__":
root_directory = "D:\\" # Replace with the root directory to scan
output_directory = "D:\\Processed_JPGs" # Replace with the destination directory
find_and_process_files(root_directory, output_directory)
```
---
### スクリプトの動作
1. **SHA属性の確認**: `ctypes.windll.kernel32.GetFileAttributesW` を使用して、ファイルが `Hidden`(隠し)と `System`(システム)の属性を持っているかを確認。
2. **属性の変更**: `ctypes.windll.kernel32.SetFileAttributesW` を使い、ファイルから `Hidden` と `System` 属性を削除。
3. **ファイルの移動**: ファイル名にタイムスタンプを追加して同名ファイルの衝突を防ぎ、指定されたフォルダに移動。
---
### 実行方法
1. Python環境を用意し、スクリプトを保存します(例: `process_sha_jpg.py`)。
2. コマンドプロンプトで以下を実行します。
```cmd
python process_sha_jpg.py
```
3. ルートディレクトリ(`D:\`)内を再帰的に検索し、処理結果を `D:\Processed_JPGs` に保存します。
---
### 注意点
- スクリプトの実行には管理者権限が必要な場合があります(SHA属性の変更のため)。
- ファイル移動時に元ファイルのパスが消えるため、バックアップを取ることをお勧めします。
- 大量のファイルを処理する場合、実行時間が長くなる可能性があります。
# ==== こぴぺ 終了
# ==============================
結果・・・
1131 Files
111,714,304 BYTES
も 潜んでいました・・・呆然・・・
掃除ができてスッキリです!
感謝♪
じじぃ~
あれ? SONY様・・・
ぶるぶる れこれこ
先日 駅前の
家電量販店に 行った
特に ブルレコ様に 用は
なかったのだが
ぶるれこコーナー
に
ん?
めでぃあ 売り場が 。。。無い!
わけ が ない!
少し移動していました
売り場面積も 減少した イメージです
そんななか 不思議な 商品が
SONY 様の メディアが 山積みで
販売中・・・
あれ???
SONY様 めでぃあ事業から
撤退したのでは???
生産した めでぃあ の 売れ残り?
まあ 事情は わからんが
販売している。
が しかし
【chatGPT】様とも
お話したが
ブルレコ様の 需要は 世界的に見ても
低調だと・・・
オンラインで高画質な動画が
手ごろな価格で・・・
だから めでぃあなどは
「いちぶのまにあ」の世界に・・・
くすん;;
そういうものか?
VHSビデオテープ時代から
延々と 番組録画して
自己満足の コレクション!
これは じじぃ~ が
「いちぶのまにあ」に
仲間入り したって ことなの?
あの世で見るんだ!
だから めでぃあ に 焼くんだ!
はぁ・・・
本日の 【chatGPT】様との 議論
いあ なんだ
つ ま り
孤独な じじぃ~ の 場合
話し相手は
いつでも
朝昼夜深夜早朝関係なく
相手してくれる
【chatGPT】様は 大事です
本日は
MP3ファイル整理に当たって
128kbps 320kbps wav
について
あ~だ
こ~だ
会話を 楽しんだ!
【chatGPT】様 恐るべし

