過去の桐井戸端BBS (桐ver.8)
12456 ファイルの属性を変更するコマンドはありますか? pokopon 2001/07/30-02:09
皆さん、こんにちは

桐の一括処理コマンド、あるいはイベント処理の中で、ファイルの属性を変更するようなコマンドはありませんか?
表ファイルに限らず、任意のファイルについてです。

例えば、読み込み専用⇔書き込み可 とか、隠しファイル⇔表示ファイルとか。
DOSコマンドでいえば attrib.exe です。

探したのですが、見つけられませんでした。

現在は、フォームのイベントで「システム」コマンドからDOSのattribを直接実行させています。

何か良い方法はありませんか?
12457 Re:ファイルの属性を変更するコマンド みつお 2001/07/30-06:56
記事番号12456へのコメント
pokoponさん、こんにちは  みつお といいます

>桐の一括処理コマンド、あるいはイベント処理の中で、ファイルの属性を変更する
>ようなコマンドはありませんか? 表ファイルに限らず、任意のファイルについて
>です。
>何か良い方法はありませんか?

#FATTR #ファイル属性 関数でいけませんか?

===================================================
#FATTR( file , f )

ァイル名 file の属性を文字列で返す。
f = 1 : ファイル属性
1文字目:更新禁止であれば「R」、なければ半角空白
2文字目:非表示であれば「H」、なければ半角空白
3文字目:システムファイルであれば「S」、なければ半角空白
4文字目:フォルダであれば「D」、なければ半角空白
f = 2 : 最終更新日付(文字列:形式は環境設定と同じ)
f = 3 : 最終更新時刻(文字列:形式は環境設定と同じ)

《別名》 #FATTR #ファイル属性
======================================================
12458 Re:ファイルの属性を変更するコマンド KH 2001/07/30-08:35
記事番号12456へのコメント
>現在は、フォームのイベントで「システム」コマンドからDOSのattribを直接実行
>させています。

 BBSで、何度か話題になったと思いますが、関数で調べる事は出来ても変更できなくて、
桐の一括処理からは上記の方法でしかできないと思いましたが。
 あるのは、DOSのattribの役目でなくて、桐tblファイルの表題や未定義値等のファイル属性変更コマンドですね。
これだけCD−R/RWが普及すると欲しい機能ですね、同感です。
12468 Re:ちょと違います pokopon 2001/07/30-22:16
記事番号12457へのコメント
みつおさん こんにちは

>#FATTR #ファイル属性 関数でいけませんか?

すいません、「ファイルの属性を得るコマンド」ではなく、「属性を変更するコマンド」のことです。


12469 Re:そうですか pokopon 2001/07/30-22:25
記事番号12458へのコメント
KHさん こんにちは

>>現在は、フォームのイベントで「システム」コマンドからDOSのattribを直接実行
>>させています。
> BBSで、何度か話題になったと思いますが、関数で調べる事は出来ても変更
>できなくて、桐の一括処理からは上記の方法でしかできないと思いましたが。

そうですか、関連コマンドは無いですよね。

私はCD-R/Wにおいて利用するというよりも、ファイルの属性をチェックして、
それをもってフォームの実行にセキュリティーをかける目的で使っています。
例えば、Lock.dat というダミーファイルを用意し(中身は何でも良いです)、
これが、書き込み可であればフォームを実行させ、読み込み専用ならフォームを起動後に「処理できません」と
アナウンスして桐を終了させようとするものです。
これによって、データの保守点検の際に、他のネットワーク利用者に表ファイルの利用を制限させる事が可能です
(イベントに詳しい方なら、簡単に見破られますが、一般ユーザなら・・・・大丈夫です)。
今まではシステムコマンドでこの切り替えをしていましたが、もっとスマートな方法はないものかと投稿した次第です。

でも、このファイル属性の変更コマンド、あっても良いですよね。

12470 桐から属性の変更ができたら便利ですね。 佐田 守弘 2001/07/30-22:34
記事番号12469へのコメント
pokoponさん
KHさんが書かれている通り、ファイル属性を調べる関数はありますが、
この属性を変更するコマンドはありません。

>でも、このファイル属性の変更コマンド、あっても良いですよね。

確かにあると便利ですね。
私もpokoponさんと同じ様に、MS-DOSレベルのファイル操作は、
バッチファイルを作成し、シェル実行コマンドなどで実行しています。
これで一応目的は達するのですが、できれば桐のコマンドだけで処理できたら、
よりスマートにコマンドを記述できると思います。

佐田守弘(KS-00119)
12481 Re:そうですか Ogo 2001/07/31-13:21
記事番号12469へのコメント

>例えば、Lock.dat というダミーファイルを用意し(中身は何でも良いです)、これが、書き
>込み可であればフォームを実行させ、読み込み専用ならフォームを起動後に「処理できませ
>ん」とアナウンスして桐を終了させようとするものです。

>今まではシステムコマンドでこの切り替えをしていましたが、もっとスマートな方法はないも
>のかと投稿した次第です。

「スマート」の意味なのですが、「 ATTRIB.EXE では DOS 窓が開く(しかも、DOS 窓でコマンド実行後の状況が機械により異なり、
DOS 窓を強制的に閉じることができなくて……)」という意味ならば(私はそれで困った)。

やっぱり、「システム」コマンドを使う必要はあるのですが、

http://www.icity.or.jp/usr/ogou/DownLoad.htm

に置いてある ShlEx11.lzh 各種機能詰め合わせアプレット V1.11(改)を使えばその点を回避できます。


12484 Re:シェル、試してみます pokopon 2001/07/31-19:49
記事番号12481へのコメント
Ogoさん こんにちは

>「スマート」の意味なのですが、「 ATTRIB.EXE では DOS 窓が開く(しかも、
>DOS 窓でコマンド実行後の状況が機械により異なり、DOS 窓を強制的に閉じる
>ことができなくて……)」という意味ならば(私はそれで困った)。
>ShlEx11.lzh 各種機能詰め合わせアプレット V1.11(改)
>を使えばその点を回避できます。

ご紹介いただき有難うございました。DOS窓も気になりますが、「DOS窓の強制終了」はどうも・・・・。

桐のコマンドでできないのなら、DOSコマンドではなく、WSHで記述してもみようかとも考えていました。
でも、OgoさんのShlEx.exe を使わせていただく事も検討してみます。

「スマート」とは痩せているという意味ではなく?? 「桐内部のコマンドだけで、外部シェルに頼らず」という意味でした。
外部に制御を一瞬でも移すのはためらいがありましたので。


戻る