2023-01-12 22:12:56
Re①:アイコンドロップで複数のファイルを操作したい
「母艦ドロップで複数ファイルを...」と似たような質問をさせていただいたばかりで申し訳ないですが、同じように、exeアイコンへのドラッグ動作でも、複数ファイル操作はできないものでしょうか?
たとえば、下記のようなリネームプログラムです。 現状は、複数をドロップしても1ファイルしかリネームされません。 --------------- コマンドライン¥1からファイル名抽出。 旧ファイル名はそれ。 コマンドライン¥1からパス抽出。 場所はそれ。 新ファイル名は「あああ_{旧ファイル名}」。 「{場所}{旧ファイル名}」から「{場所}{新ファイル名}」にファイル名変更。 --------------- 母艦ドロップのように、リストを取得して、それを反復...と試したのですが動かず、下記で試しにリストを表示させてみたところ、どうも「1ファイルしか認識していない」ようでもありました。 --------------- 加工データリストは、コマンドライン¥1。 加工データリストを言う。 --------------- 上記のリスト取得の動作的に、そもそもexeアイコンにドラッグする場合は1ファイルのみしか処理できない、といった感じなのでしょうか? よろしくお願いします。 exeファイルにファイルをドロップすると、変数「コマンドライン」にドロップしたファイル名が全部入ってくるので処理できます。 exeファイルにドロップしたファイル名を確認する場合は、こうです。 --------------- 加工データリストは、コマンドライン。 加工データリストを言う。 --------------- このexeに3つファイルをドロップすると、実行結果はこう --------------- exeファイルの名前 ドロップしたファイルの名前1 ドロップしたファイルの名前2 ドロップしたファイルの名前3 --------------- 「コマンドライン¥1」の¥は配列要素のアクセスです。 コマンドライン¥0 = exeファイルの名前 コマンドライン¥1 = ドロップしたファイルの名前1 コマンドライン¥2 = ドロップしたファイルの名前2 コマンドライン¥3 = ドロップしたファイルの名前3 コマンドライン¥1を旧ファイル名に指定しているので「ドロップしたファイルの名前1」にしか処理をしていない状態です。 コマンドラインを反復して、1個目はexeファイルの名前なので処理せず、2個目からファイル名変更するとよさそう。 --------------- コマンドラインを反復 もし回数が1ならば、続ける //exeの名前 とばす 旧ファイル名は対象 旧ファイル名からパス抽出。 場所はそれ。 新ファイル名は「あああ_{旧ファイル名}」。 「{場所}{旧ファイル名}」から「{場所}{新ファイル名}」にファイル名変更。 --------------- |