ファイルにZoneIDを付与するスクリプトNo.08917
らる さん 20/11/08 07:37
 
いつもすみません
選択したファイルにZoneIDを付与するスクリプトは可能でしょうか?
もし可能でしたらぜひスクリプトを教えていただきたいです。

WinRARを使ってるんですが解凍すると中のファイルのZoneIDが消えてしまうのが理由
です。

[ ]
RE:08917 ファイルにZoneIDを付与するスクNo.08918
秀丸担当 さん 20/11/09 11:04
 

ZoneIDというのは、調べてみたところ、ファイルのサブストリームできているような
ので、ファイル名に続いて":Zone.Identifier"が付いたテキストファイルとして作成
するように書き込みと一応可能なようでした。
ただ実際にネットからダウンロードしたものではないファイルに対して自由なタイミ
ングでできてしまうのは、あまりおすすめできないかもしれません。
スクリプトにすると以下のような感じでできました。
本当はダウンロード元のURLの情報もあるようなのですが、勝手に付けているものな
のでURLの情報は無く、不完全なものになってしまうと思います。

//test.js
var iItem=GetNextItem(-1,1);
if(iItem>=0){
    var strPath = GetItemPath(iItem);
    var strPathZone = strPath+":Zone.Identifier";
    if(Question(strPath+"\nに対して\n"+strPathZone+"\nを作成しますか?")){
        var fso = new ActiveXObject("Scripting.FileSystemObject");
        var file = fso.CreateTextFile(strPathZone);
        file.WriteLine("[ZoneTransfer]");
        file.WriteLine("ZoneId=3");
        file.Close();
    }
}

[ ]
RE:08918 ファイルにZoneIDを付与するスクNo.08919
らる さん 20/11/09 17:17
 
スクリプトコードありがとうございます。
ファイルが多い場合複数範囲選択で一括でZoneID化したいのですがそういうことはで
きますでしょうか?


WordExcelのファイルはZoneIDが付いていると保護されたビューでひらく(らしい)
のでマクロとか使わなければ全部のofficeファイルをZoneID化したらセキュリティ的
にいいかなっと考えていて、ZoneIDがファイル本体と別々にテキストを記述している
だけならファイルが壊れたりとか開けないとかトラブルが起こる可能性は低そうな気
もしますがどうなんでしょうね。

[ ]
RE:08919 ファイルにZoneIDを付与するスクNo.08921
秀丸担当 さん 20/11/10 09:42
 

スクリプトを複数選択したファイルに対してもできるようにすることは、スクリプト
を少し書き換えると一応できると思います。
しかしというか、やはり簡単にサブストリームを書き換えてしまうのはあまり良くな
いと思うので、1つ1つ良く確認しながらにしたほうがいいと思います。
不可視の情報が簡単にできてしまい、その情報が存在するかどうかを確認するのも大
変だと思います。
あとディレクトリ(フォルダ)やドライブのルートに対してできてしまうと確認した
り取り除いたりするのが非常に厄介です。

セキュリティ的にはそれを扱うソフト側によると思いますが、ウィルスチェックが厳
しくなったりするものの、ファイルの本体そのものは改変されることはないはずです。

[ ]