過去の桐井戸端BBS (桐ver.8)
14068 #ファイル検索を使用せずファイル名と属性を取得したい アックン 2001/11/19-13:48
こんにちは。詳しい方に知恵をお借りしたく、またまた書き込み、ご容赦ください。

現在、桐イベントで#ファイル検索を使って、任意のフォルダにあるファイル名を取得しています。
サブフォルダ内もすべて検索しています。
これと同じことをバッチファイルなりWSHとやらを使って実現できるでしょうか。
もしできそうなら、バッチファイルなりWSHの具体的な記述を教えてもらえませんか。

・最終的にはファイル名と属性を桐テーブルに読みこみます。

・このとき、任意の拡張子(複数)のファイルのみを対象とします。
 読み込む対象とする複数の拡張子(最大で50種前後)は桐の変数に取得していますが、
これを何らかの形でバッチファイルなりWSHなりに渡すことができればいいのですが、
できなければ最終的に桐テーブル上で絞り込むことで解決するつもりです。

・任意のフォルダを1個指定したら、すべてのサブフォルダと、それに含まれるすべてのファイルを検索の対象とします。
ただし現実問題として、対象とするファイルが実際に存在する階層が10階層前後なので、
そのくらいディレクトリを降りていくだけでじゅうぶんです。

・Windowsに通常付属していて誰もが簡便に使えるソフト以外は使用できません。
(今ここと【多遊】さんの掲示板で話題になっているWSHがそれに該当するかどうか、
私は意図的に使ったことがなくて、判断できないです。)

今ぼくが使っているファイル検索イベントの骨格は、ある人にご厚意で使わせてもらっているのですが、
現在はある法人に著作権が移ったらしく、ぼくがそのイベントを使ったソフトを将来公開すると支障が生じると思うんです。
そこで、ここで別の方法をお尋ねする次第です。
そういう私的な事情なんですが、どうかよろしくお願いします。

アックン(=^・^=)

14069 Re:#ファイル検索を使用せずファイル名と属性を取得する Ogo 2001/11/19-14:01
記事番号14068へのコメント

>・このとき、任意の拡張子(複数)のファイルのみを対象とします。
> 読み込む対象とする複数の拡張子(最大で50種前後)は桐の変数に取得し
>ていますが、これを何らかの形でバッチファイルなりWSHなりに渡すことがで
>きればいいのですが、できなければ最終的に桐テーブル上で絞り込むことで解
>決するつもりです。
>
>・任意のフォルダを1個指定したら、すべてのサブフォルダと、それに含まれ
>るすべてのファイルを検索の対象とします。
>ただし現実問題として、対象とするファイルが実際に存在する階層が10階層
>前後なので、そのくらいディレクトリを降りていくだけでじゅうぶんです。

Batch ファイルで充分です。
(ただし、Windows 版 桐 から利用するに当たっては、つい先日も話題になったばかりの
「 NT 系では COMMAND.COM ではなく CMD.COMをシェルに指定する必要がある」という点を含み置き下さい。
NT 系の通常の「コマンドプロンプト」とは「CMD.COM」です)

コマンドプロンプトに対して

Dir x:\xxx\*.yyy /s /b > tmp.txt

これでOKの筈です。

「x:\xxxx\」 は「任意のフォルダを1個指定」に該当します。

「*.yyy」が「任意の拡張子(複数)のファイル」に該当します。

「/s」が「すべてのサブフォルダ」も再起的に検索することを示します。

「/b」は「DIR コマンドで通常表示されるファイルサイズだのタイム
    スタンプなどの情報を除外し、該当ファイルのフルパスのみを表示する」ことを指示しています。

桐の中から「dir」 を使うには、基本的には「システム」コマンドで
「システム "Command.com" "/c dir 〜",&実行リターン」とか指示する必要があると思うので、
この時に、 Command.com か cmd.com かが問題になります。

14071 Re:#ファイル検索を使用せずファイル名と属性を取得する hidetake 2001/11/19-14:05
記事番号14069へのコメント
> NT 系の通常の「コマンドプロンプト」とは「CMD.COM」です)

CMD.EXE


14073 Re:#ファイル検索を使用せずファイル名と属性を取得する Ogo 2001/11/19-14:20
記事番号14071へのコメント

>> NT 系の通常の「コマンドプロンプト」とは「CMD.COM」です)
>
>CMD.EXE
>

(^^;; 失礼しましたぁぁぁぁぁぁあ……

14078 Re:#ファイル検索を使用せずファイル名と属性を取得する アックン 2001/11/19-15:47
記事番号14069へのコメント
Ogoさん、さっそくどうもありがとうございます。
また今回もお世話になりますね。(^^)

ぼくはもう全然バッチファイルを使ってないのですが、元々こういうのに弱いんですわ。
いちおう、dirコマンドの結果をフィルタでテキストファイルに書き出すというくらいしか理解できてませんけど、
以下続けてお願いします。

指定したフォルダ名に空白が含まれていると、dirコマンドのパラメータがミスだとDOSが判断するみたいで、
その結果うまくいかないのですが、どうすればいいでしょうか。
フォルダ名に空白が含まれてないときはオーケーでした。
現実にはフォルダ名に空白が含まれているのがかなりの数にのぼります。

なお、ファイル名に空白が含まれているかどうかで結果に違いがあるかどうか、まだ確かめていません。
書いている今この点に気づきました。

>「*.yyy」が「任意の拡張子(複数)のファイル」に該当します。
ここの拡張子の指定は、一度に1個だけ指定するのですか。
複数を同時に指定できませんか。たとえば、jpgとjpegを同時に。
処理対象のファイル数が数万個あり、またフォルダ数も相当数あるため、できるだけ回数を節約したいのですが。(^^;

>「/b」は「DIR コマンドで通常表示されるファイルサイズだのタイム
>    スタンプなどの情報を除外し、該当ファイルのフルパスのみを
>    表示する」ことを指示しています。

ファイル名については必ずフルパスで取得したいからそれでいいのですが、
#ファイル検索でも取得できるファイル属性も同時に取得するには、どう記述するのでしょうか。

hidetakeさん、どうもお世話になります。(^^)
ぼくはNTのことを全然知らなくて、試そうにもその環境が周りに全然ないしで確かめられないんですが、
#osvarの戻り値に"NT"とでも含まれていたら、システムコマンドでcmd.exeを記述すればいいとは思うのですが、
NTであると判断する文字列を教えてもらえますか。
"Windows9x"が含まれないイコールWindowsNTである、ということにはならないですか。

続けてよろしくお願いします。  アックン(=^・^=)
14080 Re:フォルダ名・ファイル名に空白が含まれる時 Ogo 2001/11/19-16:15
記事番号14078へのコメント

>指定したフォルダ名に空白が含まれていると、dirコマンドのパラメータがミスだとDOSが判断する
>みたいで、その結果うまくいかないのですが、どうすればいいでしょうか。
>フォルダ名に空白が含まれてないときはオーケーでした。
>現実にはフォルダ名に空白が含まれているのがかなりの数にのぼります。

この話は何回もした記憶があるが…… (^^)

これは、MSがロングファイルネームを使えるようにした時に、
そのファイル名・フォルダ名にスペースを入れて構わないと言う
それまでの常識を覆した時に問題が発生しています。

これにはMSでさえも困ってしまいました(特にコンパイラ等の
プログラム開発ソフトで致命的な問題が発生するからです)。

つまり、

はれほれ.exe C:\Program Files\Common Files\Microsoft Shared\DAO\DAO350.DLL

とかと記述すると、当然「はれほれ.exe」は受け取ったパラメーターを解析して

第1パラメーター=「C:\Program」
第2パラメーター=「Files\Common」
第3パラメーター=「Files\Microsoft」
第4パラメーター=「Shared\DAO\DAO350.DLL」

と判断するわけですね。
見事に、どのパラメーターも存在しないフォルダ・ファイル名であるわけです。

DIR C:\Program Files\Common Files\Microsoft Shared\DAO\*.*

とした場合も、全部あり得ないパラメータばかりが渡されるわけで、
これでは何も前に進みません。

そこで、MSが泥縄ででっち上げた仕様は
「半角ダブルクォーティションで囲んだ文字列は、たとえその中に半角スペースがあろうとも、
その中身全体を1つの文字列と看做す」
というものでした。

従って、上記の場合なら

DIR "C:\Program Files\Common Files\Microsoft Shared\DAO\*.*"

としてやらない限りは正常に動かないのです。

もちろん、半角スペースが存在しないフォルダ・ファイル名であっても
半角ダブルクォーティションで囲むことは差し支えないわけで、
従ってWin 9x 以降は、ファイル名をパラメーターとして渡す際には、
必ず前後を半角ダブルクォーティションで囲むことが常識となっています。

試しにマイコンピューターで「ファイルの関連づけ」をいろいろ見てみればその例がたくさん出て来ます。

はれほれ.exe "%1" とか(もちろん、 %1 が与えられるファイル名です)。

# なお、Win 桐 は、ファイルを指定する時でも自動的に前後を
# 半角ダブルクォーティションで囲んでから処理を行なうので、
# 桐の内部処理だけをするならば、この問題は発生しません。
# もちろん、 DOS 桐 はこんなことはあり得ず、また、ショート
# ファイルネーム以外は認識できません。
# Windows 上で DOS 桐を動かすことが最もやっかいな結果を引き
# 起こすのです。


14084 Re:#ファイル検索を使用せずファイル名と属性を取得する hidetake 2001/11/19-16:33
記事番号14078へのコメント
>ぼくはNTのことを全然知らなくて、試そうにもその環境が周りに全然ないしで確かめられないんで
>すが、
>#osvarの戻り値に"NT"とでも含まれていたら、システムコマンドでcmd.exeを記述すればいいとは
>思うのですが、NTであると判断する文字列を教えてもらえますか。
>"Windows9x"が含まれないイコールWindowsNTである、ということにはならないですか。

一応、手も元にある奴を調べてみました。

#OSVER の返り値 [ ()内は #WINVER ]

■Windows98
 Windows 98 version 4.10.1998
 (4.1)

■WindowsNT 4.0 SP6a
 Windows NT version 4.0.1381 Service Pack 6
 (4)

■Windows2000 SP2
 Windows NT version 5.0.2195 Service Pack 2
 (5)

■WindowsXP RC2 製品版ではありません (^^;
 Windows NT version 5.1.2526
 (5.1)

この他に NT系(NT/2000/XP) だと環境変数 OS が
OS=Winsdows_NT となっています。


14085 Re:#ファイル検索を使用せずファイル名と属性を取得する hidetake 2001/11/19-16:34
記事番号14084へのコメント
>この他に NT系(NT/2000/XP) だと環境変数 OS が
>OS=Winsdows_NT となっています。

あぁ〜間違えた (;_;)

OS=Windows_NT

です。

14087 Re:#ファイル検索を使用せずファイル名と属性を取得する Ogo 2001/11/19-16:50
記事番号14078へのコメント

>>「/b」は「DIR コマンドで通常表示されるファイルサイズだのタイム
>>    スタンプなどの情報を除外し、該当ファイルのフルパスのみを
>>    表示する」ことを指示しています。
>
>ファイル名については必ずフルパスで取得したいからそれでいいのですが、
>#ファイル検索でも取得できるファイル属性も同時に取得するには、どう記述するのでしょうか。

DIR /? してみます。

/A パラメーターで属性を限定した検索モードに入ります。

# これだと、何度も同じ事を繰り返す必要があるので、
# 桐の TBL にそのファイル名を取り込んでから、順次
# #ファイル検索() で属性を求めるのが正解だとは思う。

また、もう1つの方法として、

attrib x:\xxx\*.yyy /s > *.txt

という方法もあります。
ただし、やってみればわかりますが、この場合は得られたテキストファイル
(固定長テキスト)を更に項目値として分解する必要があります。

# 別項の「ファイル名にスペースが含まれる場合」を
# 考えると、面倒臭いような気もするが……?


14088 Re:#ファイル検索を使用せずファイル名と属性を取得する hidetake 2001/11/19-17:06
記事番号14068へのコメント
>・最終的にはファイル名と属性を桐テーブルに読みこみます。

T.Samura さんの「再帰呼び出しサンプル」を応用するのも
1つの手では?

http://isweb8.infoseek.co.jp/animal/mokuchan/download/dl-list.htm
http://isweb8.infoseek.co.jp/animal/mokuchan/download/file_071.txt


14089 Re:#ファイル検索を使用せずファイル名と属性を取得する アックン 2001/11/19-17:28
記事番号14085へのコメント
hidetakeさん、ありがとうございます。
すみません。テストねだったりして。<(^^;

>OS=Windows_NT
い〜やっほ! これで判断します。(=^・^=)v

14090 Re:フォルダ名・ファイル名に空白が含まれる時 アックン 2001/11/19-17:34
記事番号14080へのコメント
Ogoさん、なるほど。

>DIR "C:\Program Files\Common Files\Microsoft Shared\DAO\*.*"
ここだけをダブルクォーテーションで囲むとなると、システムコマンドにどう書くんだろう。
もともとコマンドコマンドで発行するつもりだったので、やってみますけど、わかる人います? >おる
14091 Re:#ファイル検索を使用せずファイル名と属性を取得する アックン 2001/11/19-17:47
記事番号14088へのコメント
hidetakeさん>
さっそく試してみました。なるほど。
現在ボクが使わせてもらっているイベントでは、ループコマンドで次々と階層を降りていくと
同時にファイル検索しているわけですけど、
そういった一連の動作を手続きの再帰呼び出しで行っているようですね。
こういうテクニック、T.Samuraさんらしくて、うまいなあ。
メモリ不足の点なら、ぼくは変数領域をかなり増やしているんで大丈夫です。
ただ他人にも使ってもらうとなると、うーむむ...。


14093 Re:フォルダ名・ファイル名に空白が含まれる時 Ogo 2001/11/19-17:58
記事番号14090へのコメント

>>DIR "C:\Program Files\Common Files\Microsoft Shared\DAO\*.*"
>ここだけをダブルクォーテーションで囲むとなると、システムコマンドにどう書くんだろう。
>もともとコマンドコマンドで発行するつもりだったので、やってみますけど、わかる人います? >おる

だから

代入 &選択ファイル名="""C:\Program Files\Common Files\Microsoft Shared\*.*"""
* 確認 &選択ファイル名
システム "COMMAND","/c DIR "+&選択ファイル名+" /s /b > C:\TEST.TXT",&実行リターン

というのでいかが?


14098 Re:フォルダ名・ファイル名に空白が含まれる時 アックン 2001/11/19-18:40
記事番号14093へのコメント
Ogoさん>

>というのでいかが?
たしかに。
ぼくがやってみてどうにも動かなくてお聞きしたんですけど、/cDirとしなきゃならないわけね。(=;・;=)

/cの意味を知らない アックン(=^・^=)
14099 Re:#ファイル検索を使用せずファイル名と属性を取得する アックン 2001/11/19-19:01
記事番号14087へのコメント
Ogoさん>
attribアトトリビュートでいけそうです。
先頭から属性・MS-DOSファイル名・Windowsファイル名となってるから、切り分けできそうです。

アックン(=^・^=)
14100 Re:フォルダ名・ファイル名に空白が含まれる時 Ogo 2001/11/19-19:03
記事番号14098へのコメント

>/cの意味を知らない アックン(=^・^=)

チャイルドプロセスで起動すると言う意味です。
これがないと、非同期で(同時進行で)起動します。

でも、そんなことでうまく動かないとは思い難いのですが。

ダブルクォーテーションを含む文字列を一括処理やら計算式の中で
書く時のルールが面倒臭く間違いやすいけど、
それが原因なのではないでしょうか?

# だから 確認 &選択ファイル なのですよ。 (^^;;

14119 Re:イベントからシステムコマンドを発行するには アックン 2001/11/20-11:41
記事番号14100へのコメント
>でも、そんなことでうまく動かないとは思い難いのですが。
今朝もテストしてみたんですけど、/cの有無みたいですよ。
このあたりのことは、どうもぼくにはよくわからないです。

ところで、フォームはイベントだけを使っていますから、
このシステムコマンドをそのままでは実行できません。
そこでどうするか、また知恵お貸しください。>ALL

方法a)
桐をもうひとつ起動して、一括処理からシステムコマンドを発行する。
私が毎日実際に使っているのは、システムコマンドのパラメータを変数ファイルに書き出しておき、
つぎにシェル実行で桐をもうひとつ起動して、一括処理で先の変数を受け取ってから
システムコマンドを発行するという手順です。
(変数の代わりにバッチファイルを書き出してもいいんですけど。)

方法b)
マクロボタンをメソッドで実行するという方法がうまくいったということを、
たしかhidetakeさんとどなたかが、つい先日お話しされてましたよね。
もしかすると今回と同じ課題ではないかもしれませんし、私の記憶違いかもしれませんけど。
その方法を教えてもらえます? >hidetakeさん

(ツリーを探しても掲載場所が見つからないので、おそらくちょうど過去ログに載るまでのブランク期間かも。)

その他の方法もあれば、教えてください。
よろしくお願いします。

アックン(=^・^=)

14128 Re:イベントからシステムコマンドを発行するには Ogo 2001/11/20-17:51
記事番号14119へのコメント

>ところで、フォームはイベントだけを使っていますから、
>このシステムコマンドをそのままでは実行できません。
>そこでどうするか、また知恵お貸しください。>ALL

「印字」コマンドでバッチファイルを作成して、それを「シェル実行」すれば?


14136 Re:#ファイル検索を使用せずファイル名と属性を取得する hidetake 2001/11/20-23:14
記事番号14089へのコメント
>>OS=Windows_NT
>い〜やっほ! これで判断します。(=^・^=)v

シェルを実行させるのなら、環境変数 COMSPEC で
指定されたシェルを実行するのが妥当だと思います。

Windows 2000 の場合の環境変数の設定は
ComSpec=C:\WINNT\system32\cmd.exe
ですし、
#getenv("COMSPEC")
の返り値は
C:\WINNT\system32\cmd.exe
となります。

WindowsXP の場合は
ComSpec=C:\WINDOWS\system32\cmd.exe
ですし、
#getenv("COMSPEC")
の返り値は
C:\WINDOWS\system32\cmd.exe
となります。


14139 Re:XP (茶々) Ogo 2001/11/20-23:36
記事番号14136へのコメント

>WindowsXP の場合は
>ComSpec=C:\WINDOWS\system32\cmd.exe
     ~~~~~~~~~~~~~~~~~~~
(T_T)


14140 Re:#ファイル検索を使用せずファイル名と属性を取得する hidetake 2001/11/20-23:37
記事番号14136へのコメント
>シェルを実行させるのなら、環境変数 COMSPEC で
>指定されたシェルを実行するのが妥当だと思います。

私が むか〜し むか〜し
一番最初に桐のシステムコマンドを使って
某コマンドリストを送るのに使った記述は
次のようなものでした・・・ :-)

--------------------------------------------------------
表示制御 処=す,蝸=す
&選択ファイル名=#getenv("COMSPEC")
&STR="/c copy "\
+#データパス名+"kiri_v4a.cmd "\
+#データパス名+"kiri_v4a.tbl "
システム &選択ファイル名,&STR,&件数 */隠しコマンド/*
表 "kiri_v4a.tbl"
選択 [処理]{"*/ "*}
置換 [処理]=#s([処理],"*/ ","")
書き出し テ,"kiri_v4a.txt",区="09",*
中止 表
ファイル削除 "kiri_v4a.tbl"
終了
--------------------------------------------------------


14142 Re:#ファイル検索を使用せずファイル名と属性を取得する アックン 2001/11/21-08:51
記事番号14136へのコメント
hidetakeさん、どうも。
>シェルを実行させるのなら、環境変数 COMSPEC で
>指定されたシェルを実行するのが妥当だと思います。
これでやってみます。
14143 Re:イベントからシステムコマンドを発行するには アックン 2001/11/21-08:52
記事番号14128へのコメント
Ogoさん、どうも。
>「印字」コマンドでバッチファイルを作成して、それを
>「シェル実行」すれば?
それでいくことにします。
14144 Re:#ファイル検索を使用せずファイル名と属性を取得する Ogo 2001/11/21-09:40
記事番号14142へのコメント

>>シェルを実行させるのなら、環境変数 COMSPEC で
>>指定されたシェルを実行するのが妥当だと思います。
>これでやってみます。

念の為に。

C:\WINDOWS\COMMAND\ATTRIB.EXE

とか

C:\WINNT\system32\attrib.exe

やバッチファイルを使うなら、シェルを呼び出す必要は
ないですよ。

dir ならシェルを呼び出す必要がありますけど。


14148 Re:#ファイル検索を使用せずファイル名と属性を取得する アックン 2001/11/21-12:05
記事番号14144へのコメント
続けて教えてください。
Ogoさんとhidetakeさんのシェル云々の話が理解できてないのですが、
たちまちバッチファイルをシェル実行コマンドでやってみました。

ファイル名や属性の取得結果はこれいいのですが、DOSを実行したウィンドウが残ってしまいます。
DOSの実行ファイルは消さなくても別にかまわないのですが、このウィンドウを
自動的に消す方法はありますか。

・イベント
proc 元のファイル名()
&terget = &terget+"\*.*" /* &terget例:"D:\abc\xyz" */

 印字開始 "D:\TMP1121.BAT" , 終了状態=&分
   印字 "attrib """+&terget+""" /s > d:\tmp1121.txt",_9
 印字終了 改頁=しない

 シェル実行 "D:\TMP1121.BAT" , 表示=最小化 , &秒
end

・残るウィンドウのタイトル:実行-TMP1121

そもそもこのようなDOS実行画面が見えなければいいのですが、
そのような方法が他にあれば教えてください。
バッチファイルを使わなければいいんでしょうか。

アックン(=^・^=)
14149 Re:#ファイル検索を使用せずファイル名と属性を取得する アックン 2001/11/21-12:13
記事番号14148へのコメント
・訂正
> ・・/* &terget例:"D:\abc\xyz" */
この変数値はダブルクォーテーションで囲まれていません。
文字列型だとついダブちゃんで囲ってしまう習性があるもんで、すいません。(^^;
14151 Re:#ファイル検索を使用せずファイル名と属性を取得する hidetake 2001/11/21-13:17
記事番号14149へのコメント
>DOSの実行ファイルは消さなくても別にかまわないのですが、このウィンドウ
>を自動的に消す方法はありますか。

この辺のことは
http://www.fuku3.com/~habata/kbbs/kakov8/13759.htm
にも書きましたが、Windows9x 系の場合は面倒です。

だから、自分の場合はバッチファイルをあまり使いたく無いのですよねぇ〜

TMP1121.BAT に対する PIF ファイルを作るか、
あるいはBAT の中に echo 文で、コマンドが終了したら、
(ウィンドウが開きっぱなしになったら)ウィンドウを閉じてくれと
最後にメッセージを表示させるのも必要かも知れません。


14153 Re:#ファイル検索を使用せずファイル名と属性を取得する hidetake 2001/11/21-13:57
記事番号14151へのコメント
ところで ATTRIB の表示結果は 98系 と NT系で
違うようです。

C:\*.* の結果
ここでは <pre> 処理できないのでスペースは表示上除去されるので
詳しくはソースを見て下さい。
98 と違って頭にスペース2ヶが付きません。
それにショートネームも付加されません。
=============================================
98
---------------------------------------------
SHR IO.SYS C:\IO.SYS
SHR MSDOS.SYS C:\MSDOS.SYS
A SHR $PMHIBER.DAT C:\$PMHIBER.DAT
SH VIDEOROM.BIN C:\VIDEOROM.BIN
A COMMAND.COM C:\COMMAND.COM
SHR DBLSPACE.BIN C:\DBLSPACE.BIN
SHR DRVSPACE.BIN C:\DRVSPACE.BIN
SHR DRVSPACE.INI C:\DRVSPACE.INI
A CONFIG.SYS C:\CONFIG.SYS
A AUTOEXEC.BAT C:\AUTOEXEC.BAT
A DOSIME.SYS C:\DOSIME.SYS
A NBIHW.CFG C:\NBIHW.CFG
=============================================
2000
---------------------------------------------
SHR C:\arcldr.exe
SHR C:\arcsetup.exe
A HR C:\AUTOEXEC.BAT
SHR C:\boot.ini
SHR C:\bootfont.bin
SHR C:\cmldr
SHR C:\IO.SYS
SHR C:\MSDOS.SYS
SHR C:\NTDETECT.COM
SHR C:\ntldr
A SH C:\pagefile.sys
SHR C:\WINNTNWLogRes.tmp
=============================================


14154 Re:#ファイル検索を使用せずファイル名と属性を取得する Ogo 2001/11/21-13:58
記事番号14151へのコメント

>この辺のことは
>http://www.fuku3.com/~habata/kbbs/kakov8/13759.htm
>にも書きましたが、Windows9x 系の場合は面倒です。
>
>だから、自分の場合はバッチファイルをあまり使いたく
>無いのですよねぇ〜
>
>TMP1121.BAT に対する PIF ファイルを作るか、あるいは
>BAT の中に echo 文で、コマンドが終了したら、(ウィン
>ドウが開きっぱなしになったら)ウィンドウを閉じてくれ
>と最後にメッセージを表示させるのも必要かも知れません。

バッチファイルの名前を「Temp.bat」のような名前で固定しておき
(中身は毎回変わってもいいから)、1回その「Temp.pif」を作って設定を替えておくとか。

>ターゲット
>目標。まと。特に、商品の販売活動で、主たる購入層と
>考えられるもの。 ▽target     『岩波国語辞典』
          ~~~~~~ (^o^)


14155 Re:#ファイル検索を使用せずファイル名と属性を取得する hidetake 2001/11/21-14:23
記事番号14154へのコメント
>バッチファイルの名前を「Temp.bat」のような名前で固定
>しておき(中身は毎回変わってもいいから)、1回その
>「Temp.pif」を作って設定を替えておくとか。

それやるなら、_DEFAULT.PIF をバイナリで持っておいて、
印字コマンドで最初から強制的に書き換える! :-)


PS.
98系とNT系で違うものとしては START コマンドも異なります。

98系は START.EXE として実行ファイルを持っていて
これを実行する事になるけど、NT系は内部コマンドになっているので、
もし「システム」コマンドなどで START.EXE としていたらエラーになるし、
シェル実行等で、単に START としていても実体のファイルは
存在しないのでやはりエラーになる!
もしどうしても必要になる場合はシェルを通して
/c start と実行する必要があるでしょう・・・


14158 Re:#ファイル検索を使用せずファイル名と属性を取得する アックン 2001/11/21-15:24
記事番号14155へのコメント
Ogoさん、hidetakeさん、どうもありがとうございます。

ファイル名を固定したバッチファイルと、そのPIFファイル(自動的に閉じるをON)をあらかじめ用意しておくと。
なるほど。
これ後で試して報告します。

NT系では行頭空白とMS-DOS名がないんですね。
これは切り分けが面倒そう・・・・。(;_;)
どうも情報ありがとうございます。

アックン(=^・^=)

14159 Re:#ファイル検索を使用せずファイル名と属性を取得する アックン 2001/11/21-15:44
記事番号14154へのコメント
>>考えられるもの。 ▽target     『岩波国語辞典』

う。

かつて某たこらーめん様に指摘して、そのままになっていた。(^^;
(↑)それは誰のことだ?とは聞かないでください。
14160 Re:#ファイル検索を使用せずファイル名と属性を取得する アックン 2001/11/21-15:55
記事番号14158へのコメント
>これ後で試して報告します。
って、これは今朝試したんだった。(^^;
PIFのプロパティのプログラム
D:\TMP1121.BAT

ディレクトリ指定をあらかじめ記述できそうにないんで、
さっさとあきらめたんですけど。
相対パス使うとか?

アックン(=^・^=)
14161 Re:#ファイル検索を使用せずファイル名と属性を取得する hidetake 2001/11/21-16:08
記事番号14160へのコメント
>ディレクトリ指定をあらかじめ記述できそうにないんで、
>さっさとあきらめたんですけど。
>相対パス使うとか?

BAT を置く場所に一緒に置き
ディレクトリなしで記述する
DOSIME なんかの要らないもの
も付けない


14162 Re:#ファイル検索を使用せずファイル名と属性を取得する アックン 2001/11/21-16:21
記事番号14161へのコメント
成功!
ありがとうございます。
他の方法はよーわからんので、これでいくことにします。

アックン(=^・^=)
14163 Re:#ファイル検索を使用せずファイル名と属性を取得する hidetake 2001/11/21-16:26
記事番号14161へのコメント
>BAT を置く場所に一緒に置き

バッチファイルを印字コマンドで
動的に作って実行させるにしても
PIF ファイルは予めどこかにコピー
して持っておき、必要に応じて
バッチファイルを置く場所にコピーし
使用する事になるので、
印字コマンドを用いた動的な
バッチファイルの作成も
あまり意味の無いものになってしまいます。

PIF ファイルを個別にファイルとして
(どうしても)持ちたくない場合は、
印字コマンドの中に埋め込む手法も
無いわけではありません。

http://pub.idisk-just.com/fview/VL5uq6YszmreeeDtINFqZbZ4PxUVp2La2c9ET4RUO9xE2FTkXEM5GS1EZ85WZ22IRWhd0JGjzQs/dmVyY2hlY2s.lzh

に某バイナリを埋め込んだ例は
あります。


14166 Re:#ファイル検索を使用せずファイル名と属性を取得する アックン 2001/11/21-18:12
記事番号14163へのコメント
hidetakeさん>
えっと、BATもPIFも最初から同じディレクトリに置いておきます。いつも。
今のところ別にこれで支障はないようないんだけど。

14167 Re:#ファイル検索を使用せずファイル名と属性を取得する アックン 2001/11/21-18:22
記事番号14166へのコメント
じゃなくって〜。(^^;
PIFだけ最初から特定のディレクトリに置いておきます。
今のところ別にこれで支障はないんだけど。
どこかヘン?
14168 Re:#ファイル検索を使用せずファイル名と属性を取得する hidetake 2001/11/21-18:35
記事番号14167へのコメント
>どこかヘン?

支障が無ければそれでよいと思います。 (^_^)


14169 Re:#ファイル検索を使用せずファイル名と属性を取得する アックン 2001/11/21-19:00
記事番号14168へのコメント
んでは、これでいきます。(=^・^=)v

戻る