アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

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

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

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


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

隠し属性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

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


>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

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