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


0

我有一个简单的场景,但我现在没有办法Windows做或不做:

我们有2个目录与这些文件:

书:

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

库:

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

NoticX.pdf位于Lib文件夹中


现在,我想:

  1. 重定向大约每个开口请求D:\sources\Books\X.pdfE:\extra\text\science\Lib\X.pdf
  2. 该解决方案不应该导致X.pdf在所示Book的文件夹,当用户打开Book文件夹由windows explorer(它应该通过打开typing the path in windows explorer address barCMD或软件的命令)

问题说明:

  1. 你的解决方案适用于Windows版本?
  2. 是否有适用于Windows的方式XP78
  3. 是否NTFS需要在您的解决方案中使用?

Answers:


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

来源:Windows命令行帮助 MKLINKATTRIB

符号链接仅适用于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项。当然,问题在于用户可能有一天需要查看隐藏文件。


谢谢@Doug,你的答案很有用,所以我把它标记为答案。我也希望阻止用户以任何方式查看链接和目标文件。我是一名C#程序员,可以使用我的软件更改用户注册表。我以前写过一个关于它的问题。你有什么想法吗?:我的问题
RAM

@RAM,我编辑了添加一些关于的信息REG。我希望这很有用。我担心我对C#一无所知。
Dee Hendrick
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.