将有关给定目录中文件的打开请求重定向到另一个目录中的另一个文件

将有关给定目录中文件的打开请求重定向到另一个目录中的另一个文件

我有一个简单的场景,但我现在不知道是否有办法Windows做到这一点:

我们有 2 个包含以下文件的目录:

书:

   D:\sources\Books
                |___ A.pdf
                |___ B.pdf

库:

   E:\extra\text\science\Lib
                          |___ X.pdf
                          |___ Y.pdf

注意:目录.pdf在里面自由文件夹


现在,我想要:

  1. 重定向每一个开放请求D:\sources\Books\X.pdf即将E:\extra\text\science\Lib\X.pdf
  2. 解决方案不应该导致用户通过 打开文件夹时X.pdf显示在文件夹中(应通过或或 软件命令打开)BookBookwindows explorertyping the path in windows explorer address barCMD

问题说明:

  1. 您的解决方案适用于哪个 Windows 版本?
  2. 有没有适合 Windows的方法XP78
  3. NTFS您的解决方案中是否需要?

答案1

以下将在 D:~\Books 中创建一个指向 E:~\Lib 的符号链接,然后设置隐藏属性 (+H),/L 开关确保仅在符号链接上设置该属性。仅当用户手动设置了隐藏文件的可见性时,链接才会在 Windows 中可见:

MKLINK D:\sources\Books\X.pdf E:\extra\text\science\lib\X.pdf | ATTRIB +H D:\sources\Books\X.pdf /L

MKLINK来源:和 的Windows 命令行帮助 ATTRIB

符号链接仅适用于 Windows 中的 NTFS。如果其中一个或两个文件系统都是 FAT32,则必须使用快捷方式。无法从命令行轻松创建快捷方式,因此只需right click->“新建”->“快捷方式”-> 输入E:\extra\text\science\lib\X.pdf->“下一步”-> 输入X.pdf->“完成”->“右键单击快捷方式”->“属性”->“常规”选项卡 -> 选中“隐藏”。除非用户手动选择了隐藏文件的可见性,否则这也不会可见。

主要区别在于符号链接是在文件系统级别创建的,通常会被视为文件本身,而快捷方式是运行脚本的单独文件,实际上全名为“X.pdf.lnk”。除非您尝试使用脚本操作文件,否则这对于您的目的来说无关紧要。

注意:除非用户键入DIR /A显示隐藏文件,否则符号链接和快捷方式在终端上都是不可见的;但是,它们可以工作。如有必要,您可以使用 (GUI) regedit.exe 或使用 的命令行禁用用户从 Windows 资源管理器查看隐藏文件的能力REG。查看REG /?并查看这篇文章:http://www.askvg.com/the-best-method-to-hide-files-folders-in-windows-without-using-3rd-party-utilities/以及随附的文章:http://www.askvg.com/all-kinds-of-restrictions-for-windows-2000-xp-2003-and-vista/,特别是第 4 项。当然,这样做的问题是,用户可能某一天确实有查看隐藏文件的正当需求。

相关内容