気軽に「こんなソフトありませんか?」Part.202 (906レス)
上下前次1-新
抽出解除 レス栞
402(9): 名無しさん@お腹いっぱい。 [sage] 06/20(金)14:10 ID:tNWBKmCx0(1)
たくさんのフォルダがあってフォルダの中には
画像ファイル(複数)とテキストファイル(一つ)が入っています。
テキストファイルはその画像の説明文やタグが書かれています。
不要なタグの画像フォルダをまとめて削除したいので
フォルダ内のテキストに書かれた文字列を検索して
フォルダを一括で抽出したり削除したり出来るフリーソフトを探しています。
フォルダ数は2万フォルダ以上、ファイル数は100万ファイル以上と大量になる予定です。
不要なフォルダを半分以上は削除したいのですが、手動ではどうしても厳しいです。
テキスト内に書かれているタグから不要と思われるフォルダを検索して一括で削除していきたいです。
何か良いフリーソフトはありますでしょうか?
403: 名無しさん@お腹いっぱい。 [sage] 06/20(金)14:20 ID:NNxC7UFp0(1/2)
>>402
バッチ書いたほうが早そうだな
今夜にでも考えとく
406: 名無しさん@お腹いっぱい。 [sage] 06/20(金)17:44 ID:kN9zJI1f0(1)
>>402
フォルダのテキストファイルからタグを読み出す
↓
フォルダ名にタグを付ける
↓
タグでフィルタリング
↓
フォルダ名にマーキング
マーキングしたフォルダを移動
冷静になってから処理
自分が実装するとしたらこういう感じかな
テキストファイルの書式がわかれば
407: 名無しさん@お腹いっぱい。 [sage] 06/20(金)18:11 ID:NNxC7UFp0(2/2)
>>402
一応確認だけど、バッチ書くならテキストのサンプルがあるといいな
タグが1行1個(改行区切り)なのか複数個(カンマやタブ、スペースなどの区切り)なのかで細部が変わってくる
前後無視して説明文やタグ文の一部にマッチしても許されるなら一番簡単だけど
(WINDOWSがINDOでマッチしちゃうみたいな)
408: 名無しさん@お腹いっぱい。 [sage] 06/20(金)19:17 ID:UrobB4cT0(1)
>>402
Everything(1.5a)にはカスタムプロパティを定義したCSVファイルを読み込む機能(ファイルシステムと独立して各ノードのプロパティを定義できる機能)があるので、それを活用するといい
Properties - voidtools forum
https://www.voidtools.com/forum/viewtopic.php?f=12&t=9788#index
準備:
1. CSVフォーマットを上記リンク先のページで確認
2. 件のテキストファイル群の内容から単一のCSVファイルを生成する(適当なスクリプトを組んで自動生成)
Everrything側での設定(詳細は公式フォーラムを参照):
1. 対象フォルダを含むインデックスを構築
2. CSVのヘッダで定義したカスタムプロパティ名を定義
3. 対象のカスタムプロパティを表示列に追加(省略可)
4. CSVをロード
5. プロパティインデックスを再構築
410(3): 名無しさん@お腹いっぱい。 [sage] 06/20(金)23:30 ID:xqdYSDG70(1/2)
>>402
ChatGPTに聞いたらすぐ作ってくれた
grep -rl ‘タグ' src/ | xargs -I{} dirname {} | sort -u | xargs -I{} rm -r {}
-Iオプション付きで1つの削除コマンドでフォルダ1個削除なので性能的には遅いけど内容的にはgrepの条件のところだけ詰めれば動く
Windowsならこんな↓感じだってさ
Get-ChildItem -Recurse -File |
Where-Object { Select-String -Path $_.FullName -Pattern ‘タグ’ -Quiet } |
ForEach-Object { $_.Directory.FullName } |
Sort-Object -Unique |
ForEach-Object { Remove-Item $_ -Recurse -Force }
コマンド内容の解説やdry-runの方法や性能改善方法とかも丁寧に教えてくれたからスクリプトでもよければChatGPTに聞くといいかも
417: 402 [sage] 06/21(土)11:05 ID:dmkzMIff0(1)
皆さんありがとうございます。
フリーソフトでテキストを全てUTF-8からShift_JISに一括変換してから
>>412さんの作ってくれたbatを実行したら自動的に
指定したタグのあるフォルダを全て削除することに成功しました。
とても便利です。助かりました。ありがとうございます。
434(1): 402 [sage] 06/23(月)18:58 ID:L1t2J94N0(1)
>>412さんのツールだとフォルダ名やファイル名に
findstrで検索できない記号が含まれていた場合削除出来ないことが分かりました。
? ! ^ ( )などの記号が多く含まれていますので
別のソフトかバッチのようなものを教えてもらえると助かります。
あと出来ればフォルダ内のテキストに書かれた特定のタグのあるフォルダを検索して
別の場所に一括で自動で移動させるソフトかプログラムもあれば助かります。
参考までにファイルとフォルダはpixivからダウンロードしたデータです。
フォルダとファイルの一例
フォルダ名 20241203_ライザ_124861319
ファイル名 20241203_ライザ_124861319_p0-4 の5枚
テキストファイル名 20241203_ライザ_124861319_p0 (デフォルトUTF-8 Shift_JISに変換可能)
テキストファイルの内容
Title: ライザ
Caption: 太腿はもちろん、おっ○いも凄く魅力的だと思います。
Tags: ['AI生成', 'AI生成', 'ライザリン・シュタウト', 'ライザのアトリエ', 'ライザ', 'アトリエシリーズ', '魅惑のふともも', '魅惑の谷間']
URL: https://i.pximg.net/img-original/img/2024/12/03/15/39/27/124861319_p0.jpg
>>410さんのPowerShellっていうのもこれから試してみます。
438: 402 [sage] 06/24(火)18:39 ID:SQ92/1dS0(1/2)
>>410
>>436
両方やってみましたけど、
PowerShellやPythonで実行してみましたけど
初めてなのでよく分からずエラーが出たり何も起こらなかったりで
ワイには分かりませんでした。申し訳ございません。
ちなみに消したり移動させたりしたいのは
pixiv巡回というソフトウェアで
pixivの作者の作品を丸ごとダウンロードした
フォルダやファイルになります。
442: 402 [sage] 06/24(火)22:20 ID:SQ92/1dS0(2/2)
>>440
わざわざ作って頂き、誠にありがとうございます。
問題なく動作しております。とても助かりました。
重ねて感謝申し上げます。m( _ _ )m
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.040s