うちで試すと、一見、このマクロは正しく動いているようです。 ただ、試した環境が生DOSで、tosfindそのものが動作をしないので、本当 に正しく動いているかはわかりません。 ということで、今のところの可能性。 というか、思いつきにすぎないのですけど。 その1: tosfindがバグっていて、このツール実行中に固まる →細かいバグレポをすれば、バグが直る可能性があります あ、いや、作者自身が直すとは限りませんよ その2: きちんと動いているんだけど、検索しているディスク容量が巨大で、 一見フリーズしているように見えるだけ →一晩置いておけば、結果が出るでしょう。 その3: マクロがおかしい →フリーズするところに原因があるとは限りません もちろん、フリーズするところに原因があることもあります ところで、%sは1つしかないようなんですが、このマクロの 意図として、ここにはpsとpwのどちらを表示したいのでしょうか? とりあえず、マクロ初心者の私にはさっぱり原因が判りません。 多分、マクロに詳しい人が謎を解き明かしてくれることでしょう。
> c:\tool\TOsfind c:\ /n$%s$ の部分をコマンドラインに記述して> フリーズします。どこが悪いのか、教えて下され。1. tosfind の書式と異なる まず,tosfind の要求する書式に従って書きましょう。 tosfind のマニュアルを読みましたが, ファイル名を $ で括るとは書いて いないはずです。ディレクトリ名にスペースを含む場合だけ二重引用符で括る ことは必要のようですけれど。 2. 必要のない引数 pw がある %s がひとつしかないのに,ps と pw が引数になっています。 3. FEP/IME をオフにするタイミングが遅い マクロ起動時にオフにしたいなら, ?. &j(0) #F … …のように,窓を出す前に実行しましょう。 4. #F を使うなら mp を制御 #F で文字列を取得すると, ページングモードが変化したままになってしま います。それでもよければかまわないのですが,元のページングモードを保存・ 復帰するのが行儀がよいように思います。 なお,#F で取得した文字列は ps に残ります。 これも行儀が悪いと思えば pa などにすり替えるという手もあります。 こんな感じ? == TOSFIND.DEF == * M 25 ^\ "" ?. &j(0) ;FEP/IMEをoff mp[, ps[=pa, ;モードや履歴を保護 #F &Cr ;入力を待つ ps], mp], ;モード・バッファ復帰 (r)?. ;[ESC]/[CR]はキャンセルと看做す #E &?("c:\tool\TOsfind c:\ /n%s >c:\file.txt",pa) #m #[ #O "c:\file.txt" #m *
> psとpwのどっちかがいらないことは覚えていたんですが、> どっちかわからなくなったので、そのままにしてました。この機会に覚えてください。 #F や #G で取得した時は,ps に格納されます。 &g() や #J で取得した時は,pw に格納されます。 どちらかわからなかったら,どちらか片方を削除してみればよかったのでは? 引数が多いというのは思わぬ不具合を引き起こす原因になりかねませんよ。> 詳しくわかっていませんが、この2行は丸呑みで使うということ> にするとよさそうですね。ps[, と ps], …文字列バッファのアドレス保存・復帰 mp[, と mp], …ページングモードの保存・復帰 これらをセットで覚えてください。 そして,これらは入れ子にする必要があります。 ps[=pa, ;(1) mp[, ;(2) #F &Cr mp], ;後から入れた(2)を先に復帰 ps], ;先に入れた(1)を後に復帰 これは,「ごっくん」では済みません。
> ここ、ちっとむずかしいので、ゆっくりといきます。
> 1. tosfind の書式と異なる
> まず,tosfind の要求する書式に従って書きましょう。
> 何も,としきさんが反省なさることはないと思いますが…いやいや、その辺のところをまったくチェックせずに、一見正常と答えてし まったことを反省しているだけです。> ところで,ファイル名指定部分を二重引用符で括るのはありですか?なしのようです。 WEBで公開されているソースリストをチェックしてみたところ、ディレク トリ名の二重引用符を引っぺがす処理はOSというかcmd.exeにまかせてしま っているようです。 一方、ファイル名のほうは、このアプリが自前で処理していますが、ソース を見た範囲ではその手の処理が作りこまれていませんでした。 えと、このツールの元になったTFINDではどういう仕様になっていましたっけ。 会社には持ってきていないのでよくわからないのですが、そちらと同じよう になっていたような記憶があります。 もし、TFINDと仕様が異なるのであれば、改善される可能性はあるかもしれま せんが、仕様が異なっていないのであれば、そもそもの設計理念から考えて、 作者自身による改善は絶対に望めないものと推測されます。もちろん、ソー スが公開されていますから、勝手に改造してしまうのはありでしょうけど。 そういえば、めざらさん、コンパイラを持っていましたよね?
> そういえば、めざらさん、コンパイラを持っていましたよね?