---- Support BBS ----
[ 前の記事 | 次の記事 | 一覧 ]

[00050] 1402 byte
投稿日時: 1999年10月25日(月) 23時32分17秒
ホスト名: INS178.nagoya.dti.ne.jp(210.159.134.178)

Re: ファイル操作についての質問(秀丸+田楽サーバ)

投稿者: 杉浦 まさき
e-mail: sugiura@ceres.dti.ne.jp
   URL: http://www.ceres.dti.ne.jp/~sugiura/

Shira さん、こんばんは。
杉浦 まさき です。

> 質問なのですが次のような操作が可能でしょうか。

「DirA にある(*.org という名前の)全ファイルを検索する」
        ↓
「見つかったファイルの拡張子を *.edC/*.edD に変えたものが DirB にあれば、
 DirA にある *.org ファイルを DirC/DirD に移動する」

という操作でよろしいでしょうか?
それなら以下のようなマクロで可能になるかと思います。
#上記のフォルダのある場所を "C:\Dirs" としておきます。
 また、コマンドが失敗した時のチェックを省いていますので、
 適宜それらを追加して下さい。

//----------------------------------------------------
run "dgserver.exe";
ddeinitiate "DengakuServer", "AllService";

ddeexecute "setcurdir C:\\Dirs";
ddeexecute "enumfile .\\DirA\\*.org";
while (1) {
    $file = dderequest("findnext");
    if ($file == "") break; // もうファイルがない
    $file = leftstr($file,strlen($file)-3); // "*.org" の "*" を取り出す
    if (existfile("C:\\Dirs\\DirB\\" + $file + "edC")) {
         // *.org を DirC に移動
         ddeexecute "move .\\DirA\\" + $file + "org .\\DirC";
    } else if (existfile("C:\\Dirs\\DirB\\" + $file + "edD")) {
         // *.org を DirD に移動
         ddeexecute "move .\\DirA\\" + $file + "org .\\DirD";
    }
}

ddeexecute "exit";
endmacro;
//----------------------------------------------------

#ちなみに、このままだと DirB に *.edC と *.edD が両方存在する場合は
 *.org が DirC に移動されます。



[ 前の記事 | 次の記事 | 一覧 ]


<49> ファイル操作についての質問(秀丸+田楽サーバ) (Shira) 10/25 19:26
>50< Re: ファイル操作についての質問(秀丸+田楽サーバ) (杉浦 まさき) 10/25 23:32
 └<51> Re: ファイル操作についての質問(秀丸+田楽サーバ) (Shira) 10/26 18:50
  └<52> Re: ファイル操作についての質問(秀丸+田楽サーバ) (杉浦 まさき) 10/27 02:00

---- Support BBS ----