标题: [文件操作] [分享]批处理为可执行程序创建域识别对象文件 [打印本页]
作者: hanyeguxing 时间: 2011-1-5 09:26 标题: [分享]批处理为可执行程序创建域识别对象文件
本来不太想写这样的东东,但有人问到了,就说一下:http://bbs.bathome.net/thread-10605-1-1.html
D:\calc.exe为测试用程序
条件:
- 操作系统至少是 Windows XP SP2 ;
- 文件系统必须是 NTFS
方法1:- @echo off
- (echo [ZoneTransfer]&echo ZoneId=3)>"D:\calc.exe:Zone.Identifier"
复制代码
方法2:
运行 notepad "D:\calc.exe:Zone.Identifier"
在打开的记事本中保存以下内容:复制代码
查看 :Zone.Identifier 内容- @echo off
- for %%a in ("D:\calc.exe:Zone.Identifier") do echo 文件大小:%%~za
- for /f "usebackq" %%a in ("D:\calc.exe:Zone.Identifier") do echo %%a
- pause
复制代码
当然,也可以运行 notepad "D:\calc.exe:Zone.Identifier" 查看。
说明:如果 :Zone.Identifier 内容非上面所指定内容,将造成 explorer 解析错误,并无法正常显示 :Zone.Identifier 以及无法右键属性解除
一般网上介绍查询该域识别对象需要使用第三方工具,例如 streams 或 lads ,但通过上面的示例我们可以知道,完全可以使用 for 来完成:- @echo off
- for /r "D:\" %%a in (*) do for %%b in ("%%a:Zone.Identifier") do if not "%%~zb"=="" echo %%a 存在 :Zone.Identifier
- pause
复制代码
[ 本帖最后由 hanyeguxing 于 2011-1-5 10:02 编辑 ]
作者: gtflong 时间: 2011-1-5 11:20 标题: 批处理遍历文件夹(文件夹命名为日期和时间)拷贝文件
想让主bat文件可以遍历文件夹pic,找到在某段时间内的子文件夹(例如20091212 \1150\w\s1\(具体的图片文件)到20101210\1250\w\s1\(具体的图片文件))每天生成一个文件夹,在每天的文件夹下每隔10分钟生成一个文件夹,那把找到的文件夹及其图片文件复制到另一个文件夹下pic_bak,并删除pic中复制的文件夹及图片文件,主bat文件应该有①遍历文件的路径 ②文件拷贝目的路径 ③条件开始日期 ④条件结束日期四个变量;
作者: caruko 时间: 2011-1-5 13:36
这不是NTFS流文件么..
域识别是什么东西
作者: hanyeguxing 时间: 2011-1-5 13:40 标题: 回复 3楼 的帖子
域识别对象Zone.Identifier是交换数据流ADS中的一种
通过ADSs的特点,可以实现文件的隐藏:- @echo off
- cd/d>"d:\测试.txt"
- type "e:\电影\让子弹飞.rmvb">"d:\测试.txt:让子弹飞.rmvb"
- pause
- start "" "d:\测试.txt:让子弹飞.rmvb"
复制代码
[ 本帖最后由 hanyeguxing 于 2011-1-5 22:48 编辑 ]
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |