使用mklink做目录链接

环境 win 10

使用原因:

    刚刚开始做项目,上传的附件都直接存在网站目录下了. 使用 Server..MapPath("~/")或 AppDomain.CurrentDomain.BaseDirectory 方式取的网站运行的物理根路径 ,  但在后期使用过程中发现用户上传的东西越来越多.放在网站目录下使网站所在的盘符使用越来越大. 最终不得不把上传路径改掉. 

  一开始想去程序里改.但上传接口太多.少了漏了还是有风险的.而且改了要等程序更新才会有效. 所以这种方式被否了 , 然后又想用iis 建虚拟目录的方式来操作.把路径映射到资料盘去. 但发现 这种方式可以满足在程序里用Server..MapPath("~/")方式获取根路径的. 遇到BLL/公共类库使用 AppDomain.CurrentDomain.BaseDirectory 来取的就不使用了. 所以很快也被否了. 最后查了下直接在window下建目前映射的 信息查到了以下方式 亲测可用

    mklink /j  "映射为哪个路径" "从哪个来映射"    网上的解释是说这种方式把它们链接起来了(我的理解 就是做了映射关系) 

例 mklink /j "D:\a" "C:\a"  把C盘下的A目录 映射到D盘的 a目录下  这样直接 就可以从D:\a 访问到 c:\a了 新产生的图标有一个快捷方式的操作. 但这样链接起来的区别于快捷方式. 大家可以试一下

mklink 还有其它的几种方式  详细参考 : https://www.jianshu.com/p/b1614a073087 

  • /D:创建目录符号链接。默认为文件符号链接。 (不占空间)
  • /H:创建硬链接,而不是符号链接。  (只能在同盘符下操作 会产生新一份数据)
  • /J:创建目录联接。   ( 不占空间)

参数

  • Link:指定新的符号链接名称。
  • Target:指定新链接引用的路径(相对或绝对)


 

posted @ 2020-01-08 14:16  望着天的蜗牛  阅读(830)  评论(0编辑  收藏  举报