よく見つかるのはディレクトリ内ファイルからファイル名リストを生成するツールですが、その逆の、ファイル名リストからドラッグアンドドロップ用のアイコン群を生成するツールが見つかりません。
ファイル名リストは既に手作りの複雑なフィルタなどを通したものであり、OSや出来合いツールの提供する機能では同じものが生成できないものとします。
補足:
用語の使用に不正確なものがあるかもしれません。
OSはwindows 7 (Home Premium Service Pack 1 64bit)です。
例:
入力……ファイル名リスト(text形式)
c:\sample\file1.dat
c:\sample\file2.zip
c:\temp\document.html
得たいもの……添付画像のような状況。標準的な設定において、アイコンが並んでいるデスクトップや、適当なフォルダを開いたときのような状況。ただし並んでいるファイルアイコンは入力したファイル名リストにあるファイル。
コメント(7件)
というのは,
アイコン用の画像を生成したい
と受け取れてしまいます。
でも,画像を生成したいのではないですよね。
「WindowsエクスプローラーのGUI上で,任意の複数のファイルが選択された状態を作りたい」
という事で合っていますか?
CTRLキーを押しながら複数ファイルを連続クリックしたときと同じように,
複数のファイルが選択(ファイル名の色が反転した状態)されればいいのですね?
画像ではなく、ドラッグアンドドロップのドロップ"元"が欲しいのです。
(そもそも適切な表現自体がわかりませんが。OLE objects?
Windowsの内部にも精通したプログラマーはどう表現するのでしょう。)
と表現しますね。
複数のファイルをマウスを使わずキーボードだけで選択する方法をご存知の方教えて... - Yahoo!知恵袋
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1116967911
↑これを自動的に行なえばよいですね。
バッチで実現できると思いますよ。
ポイントつきの質問なら私がコーディングしたんですが。
キーボード操作の自動化で調べてみてください
※目的によっては,ドラッグドロップという操作自体が不要かもしれません。その場合はもっと実現方法が簡単になるかも。選択されたファイルを何のためにドラッグ可能状態にするのでしょうか?
しかしこの場合、事前に一つのエクスプローラウィンドウ内に
選択するファイルが含まれていなければなりませんよね。
直面している作業の場合は5000、将来的には10万以上ファイルが対象となるのですが
(c:\temp以下にサブフォルダ内を含めて10万ファイル、そこから500くらいのファイルを選択する、など)
バッチを走らせる前にエクスプローラのプロセスが倒れると思うのですが。
それと一つのエクスプローラ・ウィンドウ内で複数のフォルダを開けるには
一番上の親フォルダからフィルタ無しの検索を使う手段しか浮かびませんが
他に方法あるのでしょうか。
という事でしたか・・・。失礼しました。
個別のフォルダごとにバッチ処理でいける,と思ったんですけどね。
その場合,Windows上でのドラッグという概念を考えるのは不可能になってきますね。
c:\sample\file1.zip
c:\temp\file1.zip
のように,異なるフォルダ上に同名のファイルがあったとして,
これをいっぺんにドラッグ可能状態にしたら,
「ドロップ先でどちらのファイルが優先されるのか」を定義できません。
(1つのフォルダ内に同名のファイルが存在できないのと同じ)
なので,異なるフォルダをまたがっている場合は,
ドラッグという操作自体,定義できないです。
GUIのドラッグ操作を使わずに,CUIで済ませることになりますね。
ドラッグは必須なのですか?
ドラッグした後で何をしたいのか,がわかれば
代案を出せると思うのですが。。
もし,何かのソフトにまとめて複数のファイルをドロップしたい,などの要望であれば
まずはドロップしたいファイルをxcopyコマンドなどフィルタつきCUI操作で一箇所にまとめて(=ドラッグ可能な状態を作り出して)
そのあとで,その一箇所にまとまった複数のファイル(1つのフォルダ内に集約することが望ましい)をドラッグすればよいですね。
>これをいっぺんにドラッグ可能状態にしたら,
>「ドロップ先でどちらのファイルが優先されるのか」を定義できません。
>(1つのフォルダ内に同名のファイルが存在できないのと同じ)
>なので,異なるフォルダをまたがっている場合は,
>ドラッグという操作自体,定義できないです。
できます。
c:\sample\file1.zip
c:\temp\file1.zip
が存在するとして、エクスプローラで C:\ を開き、右上の (C:)の検索 の部分に file1.zip と入力するとこれらのファイルが出てきますので、それらを選択してたとえば D:\ にドラッグ&ドロップすればファイルがコピーされます。
もちろん上書き確認のダイアログは出てきますが、両方保持すると答えればすべてのファイルがコピーされます。
ドラッグ元は特にエクスプローラに限らず、簡単なサンプルを作って試してみましたが同じ結果でした。
ドライブをまたがっていても問題ありません。
補足ありがとうございます。そのとおりですね。
フォルダ構造をそのまま表示するのではなく
検索結果を表示している場合,同一名称の複数ファイルを
同じエクスプローラ内に表示でき,同時にドラッグ可能ですね。