MacOSXはピリオドで始まる非表示のファイルを作成します。
これは、ウインドウズからは見えてしまうので、属性を非表示にしたいのですが、
いちいち手動では、きりがないので、スクリプトで自動化出来そうなのですが、
ところが、知識が全然ないのでどのようにとっつけば良いのか、霧の中状態です。
一応、VBやVCの文法は多少読めるのですが、どのようにすればよいのか教えていただけたら幸いです・・・・

また、これらを勉強するのに良い方法(サイト)もあれば教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

上手く説明するのが下手なのでサンプル作ってみました(笑)



WSHなどではファイルに関する操作はFileSystemObjectを利用します。
この中にAttributesプロパティというファイルの属性に関するものがあるようなので、それを利用してみました。

<?xml version="1.0" encoding="shift_jis" ?>
<package>
  <job id="attrib_r">
  <comment>Sample WSH - attrib_r.wsf</comment>
  <script language="VBScript">
  <![CDATA[

  Const strFileName = "c:\test.txt"
  Const m_ReadOnly = 1

  Dim objFso
  Dim objWShell
  Dim objFile

  Set objFso = CreateObject("Scripting.FileSystemObject")
  Set objWShell = CreateObject("WScript.Shell")

  If objFso.FileExists(strFileName) Then
    Set objFile = objFso.GetFile(strFileName)
      If (objFile.Attributes And m_ReadOnly) = m_ReadOnly Then
        objFile.Attributes = objFile.Attributes - m_ReadOnly
        WScript.Echo "読み取り専用属性を解除しました。"
      Else
        WScript.Echo "読み取り専用ファイルではありません"
      End If
    Set objFile = Nothing
  Else
    WScript.Echo strFileName + "が見つかりませんでした。"
  End If

  Set objWShell = Nothing
  Set objFso = Nothing

  ]]>
  </script>
  </job>
</package>

注:インデントは全角スペース使用してます

上記の例では特定のファイルだけを対象にしていますが
応用で指定したフォルダ以下なども可能です。
#Attributesプロパティの詳細は参考URLをご覧下さい。

FileSystemObjectを使用するときに注意しなければならないのは、動作パソコン(サーバー)内でNortonAntiVirusのスクリプト遮断などが有効だと動作しなかったり、警告出たりする場合があります。
更にマイクロソフトのIIS5セキュリティチェックリストを鵜呑みにしてFileSystemObject(scrrun.dll)自体を無効にしていても動きませんのでご注意を。

>また、これらを勉強するのに良い方法(サイト)もあれば教えてください。

同じく私もいいとこあれば教えて頂きたいです。
私の場合は基本的に検索エンジンで調べて、各命令などの詳細はMSDN Libraryで調べる程度です。

以上、参考になりましたら幸いです。

参考URL:http://www.microsoft.com/japan/developer/library …
    • good
    • 0
この回答へのお礼

詳しく教えていただいてありがとうございます。

ところで、これらのコードは、どこに記述するんでしょうか?
textエディターなら、なんでもいいのですか?
で、それを走らせるソフトはどこにあるのでしょう?
(つまり、ド基本がわかってないんです。(笑))

何にもわかってないので、申し訳ないのですが、もう一手差し伸べていただけませんでしょうか。(土下座)

お礼日時:2002/01/26 14:32

>ところで、これらのコードは、どこに記述するんでしょうか?


>textエディターなら、なんでもいいのですか?

文字コードをシフトJISで定義していますので、
下記のスクリプトをそのまま動かすだけならシフトJISで保存できるテキストエディタなら何でも構いません
(もちろんメモ帳でもOKです)

>で、それを走らせるソフトはどこにあるのでしょう?
>(つまり、ド基本がわかってないんです。(笑))

Windows98/2000/Me/XP
またはInternet Explorer4以上をインストールされていれば既にWSHが使える状態になっています。

最新版はMicrosoft Windows Script(参考URL)よりダウンロード出来ます(Windows Script 5.6 日本語版がそれです)

動作方法は
wscript hogehoge.wsf
cscript hogehoge.vbs
で動作させることが出来ます(通常は関連付けがされているかと思います)

更に詳しい説明はMSDN LibraryのWindows Script Hostにて書かれていますので、そちらを参考にして頂くと私の説明よりわかりやすく理解できるかと思います(笑)

http://www.microsoft.com/japan/developer/library …
URL=/japan/developer/library/script56/wsconWSHBasics.htm
(長いので2行にしていますが、実際は1行です)

以上、参考になれば

参考URL:http://www.microsoft.com/japan/developer/scripti …
    • good
    • 0

すいません、送信してから気づきましたが


下記サンプルは読み取り属性解除でした(^^;;

隠し属性ONにするには

Const m_Hidden = 2
を定義して

If (objFile.Attributes And m_Hidden) <> m_Hidden Then
  objFile.Attributes = objFile.Attributes + m_Hidden
  WScript.Echo "隠し属性を設定しました"
Else
  WScript.Echo "既に隠し属性が設定されています"
End If
とかで動くような気がします(汗)
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q「古い圧縮ファイル」の確認方法

Dドライブのディスクのクリーンアップをしたいのですが、実行できるものが、「古い圧縮ファイル」の削除しかありません。

「古い圧縮ファイル」がどのプログラムかを確認する方法を教えてください。

また、圧縮されたファイルの名前は青くなるらしいのですが、見つかりません。どうしてでしょうか
圧縮ファイルは1G弱あります。

Aベストアンサー

http://www.atmarkit.co.jp/fwin2k/win2ktips/106cleanup/106cleanup.html

初期設定では、50日以上アクセスの無かったファイルに対して、圧縮が行われます。
当然、圧縮してからでないと、ファイル名は青色にはなりませんので、ディスク・クリーンアップでの候補段階では、黒色のままです。


尚、設定によっては青色表示にならない場合も有りますけど。

http://121ware.com/qasearch/1007/app/nec.jsp?005084

Qrequest.Servervariables("SERVER_NAME")の戻り値に余分なピリオドが付加される条件

ASPでサーバー環境変数を取得した際、サーバーアドレスに
「.」が付加された値が返されるクライアントがあります。

【request.Servervariables("SERVER_NAME")の戻り値】
通常ユーザー ⇒ "123.123.123.123"
あるユーザー ⇒ "123.123.123.123."

このピリオドが付加されるクライアントの条件が知りたいのですが...
ご存知の方はいらしゃいませんか?

Aベストアンサー

条件無いと思います。
多分ですが、ハイパーリンク書く時か、アドレスバー手入力時に、誤って余分に入力してしまったのではないでしょうか?

ちなみに IIS と IE で確認してみました。

http://LocalHost/var.asp
http://127.0.0.1/var.asp
http://127.0.0.1./var.asp

#var.asp は For Each ~で環境変数を出力するASP

3つとも同じASPが表示されました。
#もしかして末尾にピリオド1個多くてもIPアドレスとして認識されるバグ(?)

Qファイルの圧縮方法

AVIやMPGの画像ファイルを圧縮する方法を教えてください。900mb位のファイルをCD-Rに落とし込める700mbまで圧縮したいんですが。できれば、zipやlzhなどの後で解凍しなくてはいけないような圧縮方法ではなく、多少画像が荒くなってもファイルを単純に縮小させるような方法を教えていただけると有り難いのですが。。
因みに、TMPGEncを試してみたんですが、どうもうまくいかなくて。。ファイルサイズが元のファイルより逆に大きくなってしまうんです。
すいませんが、宜しくお願いします。

Aベストアンサー

画像圧縮?くす(^^
エンコはTMPGEncやaviutlでやるのがふつーです。
ええ 絶対! 
aviutl
http://ruriruri.zone.ne.jp/aviutl/

zipとかで圧縮しても意味ありません サイズ的に。

で、TMPGEncで元より大きくなるのは問題は
コーデック、画像サイズ、 音声ファイルなど
理由はいっぱいあります。対処は類似質問みて↓
http://oshiete1.goo.ne.jp/kotaeru.php3?q=625581

だから圧縮というか再エンコードが面倒なら
ファイルをテキトーな部分でカットする方向性はどお?
CD-R 2枚に保存 450 450 くらいでカット。
対処は類似質問みて↓
http://oshiete1.goo.ne.jp/kotaeru.php3?q=610331
ではでは!

追伸
カンタンにならrmファイルに変更かなあ
でも画質は落ちますよ
ネット配信 ストリーミング形式でどぞ!
RealplusG2とかRealEncoderで変換
でもaviでもないしmpegでもないですけど、どお?

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=610331

画像圧縮?くす(^^
エンコはTMPGEncやaviutlでやるのがふつーです。
ええ 絶対! 
aviutl
http://ruriruri.zone.ne.jp/aviutl/

zipとかで圧縮しても意味ありません サイズ的に。

で、TMPGEncで元より大きくなるのは問題は
コーデック、画像サイズ、 音声ファイルなど
理由はいっぱいあります。対処は類似質問みて↓
http://oshiete1.goo.ne.jp/kotaeru.php3?q=625581

だから圧縮というか再エンコードが面倒なら
ファイルをテキトーな部分でカットする方向性はどお?
CD-R 2枚に保存 450...続きを読む

Qデータソースの非活性化について

Visual Web Developer を初めて使うのですが、どうも使い勝手が判らず困っています。

データベースの値をGridViewに表示するために、sqlDataSourceにSQLを書いて表示するまではわかったのですが、初期画面で、sqlDataSourceを非活性化(定義してあるデータのアクセスを止める)することはできないのでしょうか?
AccessだとActivateというようなプロパティがあって、ボタンを押すなどのタイミングで活性化、非活性化をすることができたような記憶があるのですが、Visual Web Developer ではこのようなプロパティ、メソッドはあるのでしょうか?
初歩的な質問だと思いますが、ネットを調べても判らなかったので教えて頂ければ幸いです。

Aベストアンサー

SqlDataSourceはあんまり使ったことがないのですが、プロパティをチラ見した感じ、仰るようなものは無いのかなーというような印象を受けました。
なので、一般的な方法かどうかはわかりませんが下記のようなことを考えてみました。
初期状態でSELECTするSQLを空白の状態にしておいて、ボタンを押したタイミングでバインドする、みたいな感じです。


Protected Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Me.SqlDataSource1.SelectCommand = "SELECT ""HOGE"", ""HUGA"", ""PIYO"" FROM ""HOGEHOHGE"""
Me.SqlDataSource1.DataBind()

End Sub


<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1"></asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>" SelectCommand=''></asp:SqlDataSource>
<asp:Button ID="Button1" runat="server" Text="Button" />

SqlDataSourceはあんまり使ったことがないのですが、プロパティをチラ見した感じ、仰るようなものは無いのかなーというような印象を受けました。
なので、一般的な方法かどうかはわかりませんが下記のようなことを考えてみました。
初期状態でSELECTするSQLを空白の状態にしておいて、ボタンを押したタイミングでバインドする、みたいな感じです。


Protected Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Me.SqlDataSource1.SelectComman...続きを読む

Qファイルの圧縮方法が解りません

窓の杜やベクター等に置かれている、フリーの圧縮、解凍ソフトをダウンロードしていますが、テキストファイルや、画像ファイルの圧縮方法が解りません。何方か教えて頂けませんか?

Aベストアンサー

ソフトの開発者のサイトで質問することをお奨めします。

ソフトごとに操作方法が異なりますので、使用しているソフト名すらない状態では誰も必要とする回答を出せません。

窓の杜やベクターでは開発者のサイトへのリンクがありますから、そこからアクセスできますよ。

Q過去の書込みで・・・どのように解決したのか知りたいものがあります。

こんばんわ。
連続投稿になってしまい申し訳ないです。

ここに投稿する前に過去の投稿を調べましたら、、、
http://oshiete1.goo.ne.jp/kotaeru.php3?q=338577
ありました。

しかし、質問者の方がなんらかの方法でご自身で解決されたらしく、ここには解決策が書かれていませんでした。

この方とまったく同じ状況なんですが、どうやって最新情報に更新されたページを表示できたのでしょうか?

お教えくださいませ。

Aベストアンサー

338577の質問も見させてもらいました。
言っている意味がよくわかりませんね…。

ようは、ページをキャッシュされているものではなく、最新のものを出したいとのことですよね?
ではASPに
---------
Response.Expires = 0
Response.AddHeader "Pragma", "No-Cache"
Response.AddHeader "Cache-Control", "No-Cache"
----------
これを入れてみてください。

Qpsdファイルの圧縮方法

psdファイルの圧縮方法を教えてください。(基本的質問で恐縮ですが)
win98です。なお、ファイルは9MB程度ですが、圧縮したものを解凍する際、鮮明度が落ちずに元通りの画像で開けますでしょうか?

Aベストアンサー

●大きなサイズのファイルを分割して送付

+Lhaca 1.20 デラックス版での分割方法
http://park8.wakwak.com/~app/Lhaca/

 1. インストールは、ダウンロードした Lhaca120.exe を実行する。
 2. デスクトップに作成された +Lhaca のショートカットに、
   対象のファイルをALTキーを押しながらドロップする。
 3. 保存場所を聞いてくるので、望みの場所を指定する。
   (圧縮形式は、相手が解凍できる形式を選ぶ。)
 4. 分割されたファイル群と結合用のバッチファイルが作成される。
   (デフォルトでは 1.2MB を上限として分割される。)
   (このサイズは +Lhaca で変更できる。)
 5. (4)のファイル全てを、容量を超えないようにメールに添付して送信
   する。
   (添付ファイル総数を本文に明記すること。)
 6. 受け取った側は、全ての添付ファイルを一箇所に集めて、バッチファ
   イルを実行する。
   (操作手順は、本文に明記すること。)
 7. 分割されたファイルが結合されるので、結合された圧縮ファイルを解
   凍する。
 8. 9MBのファイルが解凍されるので、作業する。


これでどうかな!?

※他の圧縮ソフトも分割機能が備わっていると思うが・・・

●大きなサイズのファイルを分割して送付

+Lhaca 1.20 デラックス版での分割方法
http://park8.wakwak.com/~app/Lhaca/

 1. インストールは、ダウンロードした Lhaca120.exe を実行する。
 2. デスクトップに作成された +Lhaca のショートカットに、
   対象のファイルをALTキーを押しながらドロップする。
 3. 保存場所を聞いてくるので、望みの場所を指定する。
   (圧縮形式は、相手が解凍できる形式を選ぶ。)
 4. 分割されたファイル群と結合用のバッチファイルが作成される。
   (...続きを読む

QASPでDB接続エラー非表示方法

業務で久しぶりにASP(.Netではありません)をいじっています。
お客様よりの要望でDB障害時などで自動的に表示されるDB接続エラーを他の画面に置き換えたいとの要望を頂いたのですが、
回避の仕方が今ひとつわかりません。
(global.asa内でAplication_ON_STARTにDBとの接続確認を行えばよいのではないかと思っているのですが)
基本的な内容で申し訳ございませんが、知識をお持ちの方お教えいただけないでしょうか。

Aベストアンサー

キーワードだけ

カスタムエラーページ

QNTFS圧縮したファイルを全部まとめて戻す方法

NTFS圧縮したファイルをプロパティからひとつひとつチェックをはずして戻すのではなく、圧縮されたファイルを全部まとめて元に戻す方法ってあるのでしょうか?

Aベストアンサー

圧縮を解除したいファイルを全て選択した状態で
→プロパティ→NTFS圧縮のチェックを外す→OK

それらのファイルがフォルダに入っているなら
フォルダのプロパティからやってもいい。
(サブフォルダにも適用するか尋ねられるからOKにする)

Q同じコードを何回も繰り返しているので、簡潔にしたい

「1.htm」のフォームで入力された値を、
「2.asp」で出力するASPを作成しました。
以下のようなコードになってしまいました。
動作はするのですが、
もう少し簡潔にならないかと考えています。
どうかご教授ください。
宜しくお願いします。

****1.htm***
<input name="test1" type="text">
<INPUT type="radio" name="test1_1" value="y">あり 
<INPUT type="radio" name="test1_1" value="n">なし

<input name="test2" type="text">
<INPUT type="radio" name="test2_2" value="y">あり 
<INPUT type="radio" name="test2_2" value="n">なし



<input name="test5" type="text">
<INPUT type="radio" name="test5_5" value="y">あり 
<INPUT type="radio" name="test5_5" value="n">なし


***2.asp*****
test1で値が入力されていたらその値をもとにクエリを組んで、
結果を出力しています。

If Not test1 = "" Then
Set db=Server.CreateObject("ADODB.Connection")
db.Provider = "Microsoft.Jet.OLEDB.4.0"
db.ConnectionString = Server.MapPath("test.mdb")
db.open

Set rs = db.Execute("SELECT * FROM テーブル1 WHERE ((テーブル2.番号)='" & test1 & "')")

ObjTS.WriteLine " & rs.Fields.Item("名前") & "
If test1_1 = "y" then
ObjTS.WriteLine "メッセージ"
End If

rs.Close
db.Close
Set db = Nothing
End If


If Not test2 = "" Then
Set db=Server.CreateObject("ADODB.Connection")
db.Provider = "Microsoft.Jet.OLEDB.4.0"
db.ConnectionString = Server.MapPath("test.mdb")
db.open

Set rs = db.Execute("SELECT * FROM テーブル1 WHERE ((テーブル2.番号)='" & test2 & "')")

ObjTS.WriteLine " & rs.Fields.Item("名前") & "
If test2_2 = "y" then
ObjTS.WriteLine "メッセージ"
End If

rs.Close
db.Close
Set db = Nothing

End If

……

If Not test5 = "" Then
Set db=Server.CreateObject("ADODB.Connection")
db.Provider = "Microsoft.Jet.OLEDB.4.0"
db.ConnectionString = Server.MapPath("test.mdb")
db.open

Set rs = db.Execute("SELECT * FROM テーブル1 WHERE ((テーブル2.番号)='" & test5 & "')")

ObjTS.WriteLine " & rs.Fields.Item("名前") & "
If test5_5 = "y" then
ObjTS.WriteLine "メッセージ"
End If

rs.Close
db.Close
Set db = Nothing
End If

「1.htm」のフォームで入力された値を、
「2.asp」で出力するASPを作成しました。
以下のようなコードになってしまいました。
動作はするのですが、
もう少し簡潔にならないかと考えています。
どうかご教授ください。
宜しくお願いします。

****1.htm***
<input name="test1" type="text">
<INPUT type="radio" name="test1_1" value="y">あり 
<INPUT type="radio" name="test1_1" value="n">なし

<input name="test2" type="text">
<INPUT type="radio" name="test2_2" value="y">あり 
<IN...続きを読む

Aベストアンサー

繰り返し記述しているコードのどの部分が共通していてどの部分が固有なのかを特定しましょう

お示しのコードなら
テキストボックスとラジオボタンが違うだけのように思います
ならばこの2つを引数にしたプロシージャを書けば良いように思います

Sub MakeTS(txt,rd)
  Set db=Server.CreateObject("ADODB.Connection")
  db.Provider = "Microsoft.Jet.OLEDB.4.0"
  db.ConnectionString = Server.MapPath("test.mdb")
  db.open

  Set rs = db.Execute("SELECT * FROM テーブル1 WHERE ((テーブル2.番号)='" & txt & "')")

  ObjTS.WriteLine " & rs.Fields.Item("名前") & "
  If rd = "y" then
    ObjTS.WriteLine "メッセージ"
  End If

  rs.Close
  db.Close
  Set db = Nothing
End Sub

呼び出し部分は
if test1<>"" then
  MakeTS test1, test1_1
end if
といった具合です

db、rs、ObjTSなどはグローバル変数にしておきましょう

繰り返し記述しているコードのどの部分が共通していてどの部分が固有なのかを特定しましょう

お示しのコードなら
テキストボックスとラジオボタンが違うだけのように思います
ならばこの2つを引数にしたプロシージャを書けば良いように思います

Sub MakeTS(txt,rd)
  Set db=Server.CreateObject("ADODB.Connection")
  db.Provider = "Microsoft.Jet.OLEDB.4.0"
  db.ConnectionString = Server.MapPath("test.mdb")
  db.open

  Set rs = db.Execute("SELECT * FROM テーブル1 WHERE ...続きを読む


人気Q&Aランキング