特定のフォルダのメールの添付ファイルのNo.00096
けんいち さん 02/06/13 22:36
 
 ひろさん、こんにちは。
 けんいちです。

 マクロ作成ありがとうございます。

 早速、ファイルに保存し、実行してみたのですが、添付ファイルの削除が行わ
れませんでした。

 スレッド表示にしていたり、添付ファイルつきメールのないフォルダで実行し
たり、未読等がないフォルダで実行したりすると、それぞれ適切なメッセージが
出てきましたので、マクロの処理は行われているようです。

 と思ってちょっと調べてみたところ、deltree.exeは、NT系OSには存在しない
のですね。
 かわりにRDを使用できるとのことで、

》    if( existfile( $src ) )runsync2 "deltree.exe  /Y \"" + $src + "\"";

の部分を、

    if( existfile( $src ) ) {
        runsync2 "rd \"" + $src + "\" /S /Q";
    }

として動かしてみたのですが、削除されませんでした。

 ただ、DOSプロンプトで、rd \"" + $src + "\" /S /Q 相当のことを行うと、
削除されました。

 runsync2の仕様を理解していないのですが、上記のような記述ではまずいので
しょうか?

[ ]
RE:00096 特定のフォルダのメールの添付フNo.00097
ひろ さん 02/06/14 00:08
 
 けんいちさん今日は、ひろです。
 このマクロはライブラリに公開していないので、turukame.2 のままでも良
かったのですが、時既に遅し(^^;。

> deltree.exeは、NT系OSには存在しない
> のですね。
>  かわりにRDを使用できるとのことで、
 そうなんですか。それでは、
>         runsync2 "rd \"" + $src + "\" /S /Q";
の部分を
        runsync2 "rd /S /Q \"" + $src + "\"";
        runsync2 "cmd.exe rd \"" + $src + "\" /S /Q";
        runsync2 "cmd.exe rd /S /Q \"" + $src + "\"";
のどれかで動くと思います。最初はオプションを最初に、後の二つは、rd が
cmd の内部コマンドの場合の対処です。

 ##こういう自分では使わないマクロって、書くこと自体は構わないけど、
ドキュメントを書くのが面倒で、ライブラリには登録しないんですよね(^^;。

[ ]
RE:00097 特定のフォルダのメールの添付フNo.00100
けんいち さん 02/06/14 14:14
 
 ひろさん、こんにちは。
 けんいちです。

》>         runsync2 "rd \"" + $src + "\" /S /Q";

の部分を

      runsync2 "cmd /C \"rd \"" + $src + "\" /S /Q\"";

とすることで、削除されました。

 XPだけなのかどうかはわかりませんが、cmd.exeで実行させるコマンドを指定
するには、/C 文字列 とする必要があるようです。

 何はともあれ、楽チンに添付ファイルの削除ができるようになりました。

 どうも、ありがとうございました。

[ ]