示范NTFS 卷上的硬链接
' Hardlinks.vbs
' 示范 NTFS 卷上的硬链接
' --------------------------------------------------------
Option Explicit
' 一些常量
Const L_NoHardLinkCreated = "Unable to create hard link"
Const L_EnterTarget = "Enter the file name to hard-link to"
Const L_HardLinks = "Creating hard link"
Const L_EnterHardLink = "Name of the hard link you want to create"
Const L_CannotCreate = "Make sure that both files are on the same volume and the volume is NTFS"
Const L_NotExist = "Sorry, the file doesn't exist"
Const L_SameName = "Target file and hard link cannot have the same name"
' 确定要(硬)链接的现有文件
dim sTargetFile
if WScript.Arguments.Count >0 then
sTargetFile = WScript.Arguments(0)
else
sTargetFile = InputBox(L_EnterTarget, L_HardLinks, "")
if sTargetFile = "" then WScript.Quit
end if
' 该文件存在吗?
dim fso
set fso = CreateObject("Scripting.FileSystemObject")
if Not fso.FileExists(sTargetFile) then
MsgBox L_NotExist
WScript.Quit
end if
' 主循环
while true
QueryForHardLink sTargetFile
wend
' 关闭
WScript.Quit
' /
' // Helper 函数
' 创建硬链接
'------------------------------------------------------------
function QueryForHardLink(sTargetFile)
' 如果在命令行上指定了硬链接名,则提取它
dim sHardLinkName
if WScript.Arguments.Count >1 then
sHardLinkName = WScript.Arguments(1)
else
dim buf
buf = L_EnterHardLink & " for" & vbCrLf & sTargetFile
sHardLinkName = InputBox(buf, L_HardLinks, sTargetFile)
if sHardLinkName = "" then WScript.Quit
if sHardLinkName = sTargetFile then
MsgBox L_SameName
exit function
end if
end if
' 验证两个文件均在同一个卷上,且
' 该卷是 NTFS
if Not CanCreateHardLinks(sTargetFile, sHardLinkName) then
MsgBox L_CannotCreate
exit function
end if
' 创建硬链接
dim oHL
set oHL = CreateObject("HardLink.Object.1")
oHL.CreateNewHardLink sHardLinkName, sTargetFile
end function
' 验证两个文件均在同一个 NTFS 磁盘上
'------------------------------------------------------------
function CanCreateHardLinks(sTargetFile, sHardLinkName)
CanCreateHardLinks = false
dim fso
set fso = CreateObject("Scripting.FileSystemObject")
' 同一个驱动器?
dim d1, d2
d1 = fso.GetDriveName(sTargetFile)
d2 = fso.GetDriveName(sHardLinkName)
if d1 <> d2 then exit function
' NTFS 驱动器?
CanCreateHardLinks = IsNTFS(sTargetFile)
end function
' IsNTFS() — 验证文件的卷是否为 NTFS
' --------------------------------------------------------
function IsNTFS(sFileName)
dim fso, drv
IsNTFS = False
set fso = CreateObject("Scripting.FileSystemObject")
set drv = fso.GetDrive(fso.GetDriveName(sFileName))
set fso = Nothing
if drv.FileSystem = "NTFS" then IsNTFS = True
end function
转载于:https://www.cnblogs.com/MaxWoods/archive/2006/05/09/395284.html
示范NTFS 卷上的硬链接相关推荐
- 示范NTFS 卷上的流
' CreateStream.vbs ' 示范 NTFS 卷上的流 ' -------------------------------------------------------- Option ...
- Linux上创建和更改硬链接和符号链接(软连接)
Linux上创建和更改硬链接和符号链接(软连接) 对于Linux上的硬链接和软连接而言,使用cp命令,无论覆盖其中的那个文件(源文件,软连接文件,硬链接文件),其它文件的内容都会同步修改. 点击(此处 ...
- 符号链接和硬链接有什么区别?
最近我在求职面试时被问到这个问题. 我是诚实的,并说我知道符号链接的行为以及如何创建一个,但不理解硬链接的使用以及它与符号链接的区别. #1楼 使用任何Linux(ish)控制台可能有所帮助的一些很好 ...
- Windows下mklink使用, 硬链接, 软链接和快捷方式的区别
Windows下mklink使用, 硬链接, 软链接和快捷方式的区别 mklink是windows系统下创建符号链接和硬链接的命令工具,它是一个很好的解决文件系统问题的工具.使用它需要管理员权限. ...
- Windows中的硬链接和软链接:
硬链接 从Windows NT4开始,NTFS文件系统引入了HardLink这个概念,它让一个文件可以拥有多个访问路径. 如上图,左边为链接,右边为真正的文件.删除链接并不会删除源数据文件. 示例,为 ...
- 【Linux】Linux下的硬链接与符号链接
Linux的初学者常常混淆Linux中的硬链接(hard link)与符号链接(symbol link)的概念,分不清楚它们的区别.因此,本文将向读者全面介绍硬链接与符号链接,给予读者以全面的认识. ...
- 为什么目录不支持硬链接?
引言 在大概去年十二月中旬的时候刘裕基学弟问了我这个问题,很遗憾当时并没有给出一个令人信服的解释,实在是愧疚不已.在鸟哥那本书上给出的原因说实话是有些让人迷惑的,因为书在实验室,我依稀记着书上给出的原 ...
- 硬链接和软链接的区别
原理上: 硬链接(hard link):文件A是文件B的硬链接,则A的目录项中的inode节点号与B的目录项中的inode节点号相同,即一个inode节点对应两个不同的文件名,两个文件名指向同一个文件 ...
- linux 软连接、硬链接
一.Linux链接概念 Linux链接分两种: 一种被称为硬链接(Hard Link) 一种被称为符号链接(Symbolic Link) 默认情况下,ln 命令产生硬链接.ln -s 命令产生软链 ...
最新文章
- laravel学习资料整理
- JUnit基础及第一个单元测试实例
- Sublime Text 2快捷键大全
- 计算二叉树叶子节点的数目
- Java并发编程实战————恢复中断
- Python批量重命名Maya场景中的3D物体
- 瑞幸被椰树“带坏”了?
- Fiddler设置断点(一)
- Java多线程详解(线程池)
- 连接mysql出现Access denied for user ‘root’@’localhost’ (using password:YES)问题解决办法...
- python做可视化_python可视化界面怎么做?
- matlab 实现同态滤波算法 并于直方均衡化相比较 看看谁的效果更好
- QTableView效率优化3 - 自定义Model的内容补充
- java健身房管理系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署
- Chrome内核浏览器离线加装扩展的方法 IE Tab_v11.2.1.1
- 七月观荷 - 江湖一剑客
- 清除流氓软件的第一利器(IceSword)
- python web微信应用(六) 监测微信撤回的消息
- poj 1163经典DP
- OpenCV每日函数 Subdiv2D类平面细分
热门文章
- 微信小程序开发之路(一)
- mysql-proxy完成mysql读写分离
- [文摘20080919]小软件将网页变为3D世界
- 所有特征在不同分类之间、 train和test之间的列分布差异(图形绘制)
- gensim在“中文查找(关键词)“与“txt文本“之间做相似度计算(返回最相似的文本)
- 深拷贝、浅拷贝以及引用传递和按值传递的区别与联系
- mammary cancer关联规则挖掘详解
- 字段定义_逐浪CMS对用户注册字段正则的自由定义(注册字段必填)
- springboot设置UTF-8
- JEPaas代码((列表,表单)确认入库按钮