勝手にしやがれ Part2.

【投稿時の注意】
パスワード入力:必須。投稿後の削除時は同じパスワードを使います。
投稿者入力:いまのところ任意。入力を省略すると「名無しさん」がデフォルトで表示されます
Eメール入力:いまのところ任意。
リンクの入力:本文中に http の文字列が含まれると投稿出来ません。URL を貼るときは h 抜きで ttp:// とするなど工夫してみて下さい

5 / 13 ツリー ←次へ | 前へ→

【64】Wild(32)の挙動? 文太 2008/09/18(木) 20:10

【80】Re:Wild(32)の挙動? 文太 2008/09/25(木) 0:02
【82】Re:Wild(32)の挙動? Si 2008/09/25(木) 23:55
【84】Re:Wild(32)の挙動? 文太 2008/09/28(日) 0:04
【85】Re:Wild(32)の挙動? Si 2008/09/28(日) 10:40
【88】Re:Wild(32)の挙動? 文太 2008/09/28(日) 13:31

【80】Re:Wild(32)の挙動?
 文太  - 2008/09/25(木) 0:02 -

引用なし
パスワード
    Siさん、すいませんでした。
 頭悪いなぁ>文太

 僕はモバイル・ギアという純Dos機を持っていて、すぐに試験できたはずだ
ったのでした。どうもトンチンカンなレスをしまして申し訳ありませんでした。
 事情は複雑ではありましたが、すぐ実験してみることを思いつくべきでした。
XPの command.com の支配下にあるといっても、やはり裏では cmd.exe が監視
しています。 ですから、「^」消失の件は、cmd.exe の要求を満たすエスケープ
の仕方しかありませんでした。(C:\>^ だけだと、反応が違うのですが)

 まず、
C:\>command.com /cdir c:\bin\wild.com
WILD   COM   12396 98-06-12  1:34

C:\>command.com /cdir c:\bin\wildl.exe
WILDL  EXE   16893 99-02-04  1:50        (リネームしてあります)
 の2つが対象です。

 色んなところの色んなマシンで使うので、リネームして両方(RCP.exeとRCP32.
exeのように)HDの\binディレクトリに入れています。

 まず、wild.comから。

【@XP】
C:\>Wild.com -D "Ygrep \"^^foo$\" $f >>c:\kek" c:\xyz\*.*
<< 環境変数対応 Wildcard 展開プログラム Ver.1.34 >>
          Copyright (c) 1996-98 by namazu & Si
DEBUG MODE:Ygrep "^foo$" c:\xyz\TEST1.TXT >>c:\kek
DEBUG MODE:Ygrep "^foo$" c:\xyz\TEST2.TXT >>c:\kek

【@dos 6.2】
A:\>Wild.com -D "Ygrep \"^foo$\" $f >>a:\kek" a:\xyz\*.*
<< 環境変数対応 Wildcard 展開プログラム Ver.1.34 >>
          Copyright (c) 1996-98 by namazu & Si
DEBUG MODE:Ygrep "^foo$" c:\xyz\TEST1.TXT >>c:\kek
DEBUG MODE:Ygrep "^foo$" c:\xyz\TEST2.TXT >>c:\kek

 ★wild.comには不具合なし。

 次は、wildl.exe。と、ところが、何、これ?

【@XP】
C:\>Wildl -D "Ygrep \"^^foo$\" $f >>c:\kek" c:\xyz\*.*
アクセスが拒否されました.

 よく分からないけど、しょうがないから、Vzファイラでwild32にリネーム。
 す、すると。(もちろん同じ実行ファイルです。)

C:\>Wild32 -D "Ygrep \"^^foo$\" $f >>c:\kek" c:\xyz\*.*
cmdline = Ygrep \foo$\ C:\XYZ\TEST1.TXT >>c:\kek
cmdline = Ygrep \foo$\ C:\XYZ\TEST2.TXT >>c:\kek

 通りました。ワケワカですが、
 Siさんがおっしゃるように、まずいですね。「\」が残り「"^^」が消失。

C:\>Wild32 -D "Ygrep \"^^^^foo$\" $f >>c:\kek" c:\xyz\*.*
cmdline = Ygrep \^foo$\ C:\XYZ\TEST1.TXT >>c:\kek
cmdline = Ygrep \^foo$\ C:\XYZ\TEST2.TXT >>c:\kek

 進歩。しかし「\」が残り、「"」が消えてる。

C:\>Wild32 -D "Ygrep "^^^^foo$" $f >>c:\kek" c:\xyz\*.*
cmdline = Ygrep ^foo$ C:\XYZ\TEST1.TXT >>c:\kek
cmdline = Ygrep ^foo$ C:\XYZ\TEST2.TXT >>c:\kek

 おお、この場合は、たぶん、「"」がなくとも、ygrepは次の引数をパターンと
認識してくれそう…。でも、辛いですよね。

 では、純Dos。

【@dos 6.2】
A:\>Wildl -D "Ygrep \"^foo$\" $f >>a:\kek" a:\xyz\*.*    (wildlで通るけど、すぐ
cmdline = Ygrep \foo$\ A:\XYZ\TEST1.TXT >>a:\kek    リネームします)
cmdline = Ygrep \foo$\ A:\XYZ\TEST2.TXT >>a:\kek

 「"」の「\」によるエスケープが認識されず、「"^」が消失し、「\」が残る。

A:\>Wildl -D "Ygrep "^foo$" $f >>a:\kek" a:\xyz\*.*
cmdline = Ygrep foo$ A:\XYZ\TEST1.TXT >>a:\kek
cmdline = Ygrep foo$ A:\XYZ\TEST2.TXT >>a:\kek

 「"」が消失し、「^」も消える。「^」がcommand.comにとっての特殊文字って
ことはないですよねぇ? ま、試しに。

A:\>Wildl -D "Ygrep "^^foo$" $f >>a:\kek" a:\xyz\*.*
cmdline = Ygrep ^foo$ A:\XYZ\TEST1.TXT >>a:\kek
cmdline = Ygrep ^foo$ A:\XYZ\TEST2.TXT >>a:\kek

 おお、「^」が「^」でエスケープできた。とはいえ「\」は消失。


 というわけで、Si さんがすでにお気づきのように、wild.com にはバグがあり
ません。wild.exe には、ありそうですね。
 でも、僕は、wild.com で十分なので、cmd.exe にいじめられないように「^^」
とか「^^^^」とかやります。デバッグ・モードがあって、よかった、よかった。
m(__)m

 LFNは自分では作らないようにしていますが、それでもおつき合いしなけれ
ばならない時代です。ですので、LFN対応(NT・XP対応)の wild.exe も、
いつの日にか、宜しくお願いしますね。

 あ、ご存じかと思いますが、XPでは、SFNとLFNの関係が異常です(ま、
と言っては大袈裟かな)。そのディレクトリの状況によって、SFNのbasefilename
自体が書き換えられてしまいます。 LFNが基本になっている世界なんですね。涙。
 それでも、wild.exe については、僕は wild.com で十分に対応できますので、
まったく急いでおりません。dir コマンドと sed で、膨大な ren コマンド羅列
のバッチを書いてSFNに強引に書き換えてしまえばなんとかなりますし。そう
いうときにこそ、wild に登場してもらいたいのですけどね。

 wild.comについては、cmd.exeの要求を満たせば、大丈夫でした。ありがとうご
ざいます。また、バグ入りバグ・レポート、申し訳ありませんでした。

【82】Re:Wild(32)の挙動?
 Si  - 2008/09/25(木) 23:55 -

引用なし
パスワード
   ▼文太さん:
>アクセスが拒否されました.

これ、実はこちらでもいろいろ試しているうちに出くわしました。32bitプログラムではないとかかんとかって叱られるんですよね。原因不明ですが、色々と問題がありそうですね。すみません。

>ttp://it-is-it.net/CMD/%C1%B4%C8%CC/%B9%BD%CA%B8%B2%F2%C0%CF/

これは濃厚なサイトを紹介頂いてありがとうございました。^ の問題を調べるのに、長い年月埃をかぶっていた XPコマンドプロンプトの解説本を引っ張り出して読み返していたのですが、このサイトほど詳しくは書かれていませんでした。

> wild.comについては、cmd.exeの要求を満たせば、大丈夫でした。ありがとうご
>ざいます。また、バグ入りバグ・レポート、申し訳ありませんでした。

こちらこそ恐縮です。

それにしても、MS-DOSプロンプト、XP のコマンドプロンプト、いろいろ奥が深いですねえ。Vzのコマンドラインと云うのもありますし。Vista はまだ使ったことがないので分かりませんが、またぞろ何か変わっているのかな?

# VZのコマンドラインと云えばめざらさんとの RCP の不具合のやりとりが尻切れトンボになってしまったけど、どうしたのかしら・・・

【84】Re:Wild(32)の挙動?
 文太  - 2008/09/28(日) 0:04 -

引用なし
パスワード
   Siさん

> >アクセスが拒否されました.
>  これ、実はこちらでもいろいろ試しているうちに出くわしました。32bit プロ
> グラムではないとかかんとかって叱られるんですよね。原因不明ですが、色々と
> 問題がありそうですね。すみません。

 え、 ということはwild.exe のほうに問題があるとお考えなのですか? 僕は
cmd.exeのバグだとばかり…。このメッセージはcmd.exeが出しているのですよね?
 わかんにゃい。(/_;)

> >ttp://it-is-it.net/CMD/%C1%B4%C8%CC/%B9%BD%CA%B8%B2%F2%C0%CF/
>  これは濃厚なサイトを紹介頂いてありがとうございました。

 すごいですよね。しょうがないから少し真剣にこのあたりともつき合うか、と
思っている今日この頃なのです。


> > wild.comについては、cmd.exeの要求を満たせば、大丈夫でした。ありがとうご
> >ざいます。また、バグ入りバグ・レポート、申し訳ありませんでした。
> こちらこそ恐縮です。

 いえいえ。照れちゃうし、照れられちゃうかもしれないのですが、wildのある
世界に生まれてこれて幸せです。あれ、ほんと、すごいですよ。作者様に多謝。m(__)m

>  それにしても、 MS-DOSプロンプト、XP のコマンドプロンプト、いろいろ奥が
> 深いですねえ。 Vzのコマンドラインと云うのもありますし。Vista はまだ使っ
> たことがないので分かりませんが、またぞろ何か変わっているのかな?

 深いですねぇ。 コマンドライン・ツールを調べているとすぐ「command.comの
バグっぽい仕様」とか「cmd.exeの不思議」みたいのにすぐ出くわします。
 アメリカのsederには、
ttp://www.jpsoft.com/
 なんてのを紹介されたり…。

 今のところ、Vistaでは、「command.comはあるけど16ビットでは日本語が通ら
ない」といった辺りでしょうか。Vzerは、XPが最後のOSと考えている模様で
す…。

>  # VZのコマンドラインと云えばめざらさんとの RCP の不具合のやりとりが尻切れ
> トンボになってしまったけど、どうしたのかしら・・・

 僕もつい先日気がつきました。でも、これネットワーク・ドライブ関係なんで
すよね(分からない2)。それでももし僕にできる実験があったら、どうぞ遠慮
なく言ってみてください。

【85】Re:Wild(32)の挙動?
 Si  - 2008/09/28(日) 10:40 -

引用なし
パスワード
   ▼文太さん:
> え、 ということはwild.exe のほうに問題があるとお考えなのですか? 僕は
>cmd.exeのバグだとばかり…。このメッセージはcmd.exeが出しているのですよね?

文太さんが
ttp://dmz.xrea.jp/dahlia/bbs/cb/c-board.cgi?cmd=one;no=80;id=0001
こちらで試されたのと同じように、コマンドラインの動作をいろいろ実行している内に遭遇したものなのですが、コマンドプロンプトを開いて wild.com、wild.exe 交互にいろいろやっていたので wild.exe(だけ)の不具合とは断定できないです。

正確には「有効なWin32アプリケーションではありません」と云うメッセージも出ていました。そりゃたしかに wild.comにしても wild.exeにしても 16bitプログラムなのでこのメッセージ自体は間違っていない訳なのですが・・・

> アメリカのsederには、
>ttp://www.jpsoft.com/
> なんてのを紹介されたり…。

ちょっと覗かせて頂きましたが、日本語さえ不自由な自分には、さっぱり

わかんにゃい。(/_;) ((c)文太)

でした ^^;

> 今のところ、Vistaでは、「command.comはあるけど16ビットでは日本語が通ら
>ない」といった辺りでしょうか。Vzerは、XPが最後のOSと考えている模様で
>す…。

Vista にも command.com があると云うのにはビックリしました。が、日本語が使えないとは更にビックリです。何なんでしょうね。

> 僕もつい先日気がつきました。でも、これネットワーク・ドライブ関係なんで
>すよね(分からない2)。それでももし僕にできる実験があったら、どうぞ遠慮
>なく言ってみてください。

お気遣いありがとうございます。自分の対応が悪かったのかも知れませんし、不具合に呆れて RCP から離れてしまったのかも知れませんし ^^;
まったく同じ動作環境を作れないので何とも・・・

ただ、ここでコマンドプロンプトがらみの問題が話題に出てきたので、そこら辺の影響も関係しているのかな?と気になった次第です。

【88】Re:Wild(32)の挙動?
 文太  - 2008/09/28(日) 13:31 -

引用なし
パスワード
   Siさん

> wild.exe(だけ)の不具合とは断定できないです。
>  正確には「有効な Win32 アプリケーションではありません」と云うメッセー
> ジも出ていました。

 うーん、でも16ビットアプリはばんばん普通に使っているのですけどね、僕
なんか。wild.com はここ2週間で30回くらいは起動してますが、cmd に意地
悪された(?)以外は−−はいはい、仕様なのね−−、まったく健康でした。
 じっさいのところ「アクセスが…」って、初めて見ました。リネームしただけ
で直ったり…???

>ttp://www.jpsoft.com/
> ちょっと覗かせて頂きましたが、日本語さえ不自由な自分には、さっぱり
> わかんにゃい。(/_;) ((c)文太)
> でした ^^;

 気にしないでください。 ほら、sed とか awk とかって日常的に使う人はワン
ライナーを頻繁に使うようなのですよ。そのときシェルの動きも熟知してないと
じゃないですか。 で、UNIX ならシェル・スクリプティングと混ぜて使うところ
なんでしょうが、Windows 環境だと色々な制限があるから、ああいう大仰なのに
頼ったりすることになる、ということのようです。僕も見きわめられてないです。
 もっとも「cmd の何が特殊か」を考えようとするときには、参照できるものが
あるといいかな、と。

>  Vista にも command.com があると云うのにはビックリしました。が、日本語
> が使えないとは更にビックリです。何なんでしょうね。

 ほんと何なんでしょう?

>  自分の対応が悪かったのかも知れませんし、
> 不具合に呆れて RCP から離れてしまったのかも知れませんし ^^;

 それはありませんよ。たぶん現象がうまく再現しなかったか、Siさんのところ
で再現させられないから…、ってところではないでしょうか。

5 / 13 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
14,005
(SS)C-BOARD v3.8 is Free