日本語プログラミング言語なでしこの公式掲示板

なでしこ の 掲示板

トップ 新規 検索

2023-01-12 22:12:56

Re①:アイコンドロップで複数のファイルを操作したい

TKI さん

「母艦ドロップで複数ファイルを...」と似たような質問をさせていただいたばかりで申し訳ないですが、同じように、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の名前 とばす
  旧ファイル名は対象
  旧ファイル名からパス抽出。
  場所はそれ。
  新ファイル名は「あああ_{旧ファイル名}」。
  「{場所}{旧ファイル名}」から「{場所}{新ファイル名}」にファイル名変更。
---------------

(編集パスワード送信)

子記事

親記事 (No.1584)
返信した記事(元) (No.1584)

この内容(No.1586)に返信

この内容(No.1586)をダウンロード

この内容(No.1586)のテキスト表示





www.eznavi.net