标签: mklink

什么C#相当于"mklink/J"?

我知道如何在.bat脚本中在Windows中创建符号链接:

mklink /J <LinkPath> <OriginalResourcePath>
Run Code Online (Sandbox Code Playgroud)

如何在C#中做同样的事情?

我对谷歌搜索不满意,因为我是C#的初学者,我可能不会使用正确的术语.有人可以指出要使用的API吗?

c# windows batch-file mklink

34
推荐指数
2
解决办法
2万
查看次数

Windows 8上的mklink权限

我需要通过mklink作为用户创建符号链接,而不是管理员.我已通过secpol.msc和安全设置→本地策略→用户权限分配规则设置创建当前登录用户的符号链接.之后我重新启动了笔记本电脑并尝试创建符号链接.

我仍然收到错误:您没有足够的权限来执行此操作.

奇怪的是,当我创建交汇点(mklink /d /j...)时,它工作正常.对于其他mklink操作没有.

所以问题很简单,我怎样才能在Windows 8中设置权限以使mklink在用户下正常工作,而不是管理员?

谢谢你的帮助.

windows permissions shell command-line mklink

13
推荐指数
1
解决办法
1万
查看次数

我如何将Windows符号链接提交到Git中

我在我的代码库中添加了一个windows(窗口7)符号链接("foo" - > \\ server\foo).我在网络共享 - \server\foo位置下有一大组配置文件.如何将这个符号链接"foo"签入我的Git仓库?

克隆repo的任何其他用户都应该获得此链接,并且应该能够从\\ server\foo\location中获取文件.

我们的想法是避免在集成构建期间重复同步这一大量配置文件

当我尝试登记时,\\ server\foo位置下的所有文件.当用户克隆了repo时,"foo"被添加为一个简单的目录.

git symlink msysgit git-extensions mklink

13
推荐指数
1
解决办法
8156
查看次数

将mklink命令与网络驱动器一起使用

我有我通过Windows 7访问两个网络驱动器:V:\T:\我想创建与文件夹(而非文件)alphabetise两者之间的捷径,所以我使用的mklink命令:

mklink /d \Photos V:\Photos
Run Code Online (Sandbox Code Playgroud)

这会创建一个符号链接C:\.

我可以在本地移动符号链接.但是,当我尝试将符号链接移动到网络位置时,它会开始复制实际文件而不是对它们进行符号链接.

我想如果我可以在本地驱动器上创建网络驱动器的符号链接,那么什么阻止我在另一个网络驱动器上创建网络驱动器的符号链接.我假设这是正确的吗?

使用该mklink命令创建符号链接时,有没有办法指定目标文件路径?或者有没有办法将符号链接移动到网络驱动器?

symlink windows-7 mklink

10
推荐指数
3
解决办法
3万
查看次数

有什么方法可以在Mac上使用Mac的符号链接吗?

我们有一个开发环境,Jenkins在Mac Mini(我们的本地构建机器)上运行构建,从git提交,然后最终将内容分流到一个目录,可通过Web访问和samba访问.最后一步是运行,

ln -s ${GIT_COMMIT} latest
Run Code Online (Sandbox Code Playgroud)

这将创建指向该特定提交的构建文件夹的符号链接.

不幸的是,在Windows上,当通过Samba访问时,它会在符号链接阶段出现,说明"目录名称无效".这与在没有"/ D"(目录)选项的目录下执行Windows mklink时相同.

在Windows上,两个符号链接(在Mac或Windows上创建)显示为"SYMLINK",如果您使用"/ D"选项,则该符号链接显示为"SYMLINKD".两者都显示正确的视图"[$ {GIT_COMMIT} - >最新]".

所以我要问的是,有没有办法让Windows能够理解,处理和遵循这些符号链接,因为在创建符号链接时是否有一些鲜为人知的标志?

如果那是不可能的,我注意到的另一件事是windows目录符号链接"mklink/D"适用于所有平台,*nix,Mac和Windows.那么,有没有可能的方法从Mac创建这种类型的符号链接?

windows macos symlink mklink

6
推荐指数
0
解决办法
1248
查看次数

VSCode:将文件移出appdata目录

我在公司笔记本电脑上,而appdata的存储空间有限。最初的Google显示,实际上没有任何设置可以移动目录。我在考虑将相关目录(即\ AppData \ Roaming \ Code)简单地复制到其他位置,然后创建一个具有相同名称的硬符号链接(连接),然后将其指向相同的位置

即在命令行中:

mklink /J C:\Users\me\AppData\Roaming\Code C:\myFolder\Code
Run Code Online (Sandbox Code Playgroud)

我试着移动了整个appdata文件夹(右键单击漫游/本地/本地低,然后单击属性,然后单击位置选项卡,然后更改目录)。我设法只移动了一半的文件。直到我重新启动它似乎都起作用了,这引起了混乱。

我不想用vscode再次发生同样的事情。(那表示我还没有尝试对应用程序数据使用符号链接

大家的建议是什么?我可以创建一个符号链接并使一切正常吗?还是会再次引起更多混乱?如果它适用于vscode,我也想对appdata做同样的事情

windows portability mklink visual-studio-code vscode-settings

6
推荐指数
2
解决办法
3772
查看次数

通过Python运行Windows CMD命令

我想为大型目录结构中的所有文件创建一个带符号链接的文件夹.我subprocess.call(["cmd", "/C", "mklink", linkname, filename])首先使用它,它工作,但为每个符号链接打开一个新的命令窗口.

我无法弄清楚如何在没有窗口弹出的情况下在后台运行命令,所以我现在试图保持一个CMD窗口打开并通过stdin运行命令:

def makelink(fullname, targetfolder, cmdprocess):
    linkname = os.path.join(targetfolder, re.sub(r"[\/\\\:\*\?\"\<\>\|]", "-", fullname))
    if not os.path.exists(linkname):
        try:
            os.remove(linkname)
            print("Invalid symlink removed:", linkname)
        except: pass
    if not os.path.exists(linkname):
        cmdprocess.stdin.write("mklink " + linkname + " " + fullname + "\r\n")
Run Code Online (Sandbox Code Playgroud)

哪里

cmdprocess = subprocess.Popen("cmd",
                              stdin  = subprocess.PIPE,
                              stdout = subprocess.PIPE,
                              stderr = subprocess.PIPE)
Run Code Online (Sandbox Code Playgroud)

但是,我现在收到此错误:

File "mypythonfile.py", line 181, in makelink
cmdprocess.stdin.write("mklink " + linkname + " " + fullname + "\r\n")
TypeError: 'str' does not support the …
Run Code Online (Sandbox Code Playgroud)

python windows popen python-3.x mklink

5
推荐指数
1
解决办法
6373
查看次数

将文件夹设为符号链接和 git 子模块

简而言之,这是我的项目结构:

 + A
 | + some content
 |
 + B
   + A
Run Code Online (Sandbox Code Playgroud)

我希望在我的主 git 存储库中有一个B指向A. 但由于该A项目包含 main 方法,我希望能够在提交之前快速测试,因此我想要一个指向的符号链接(或者更确切地说,mklink因为我在 Windows 上)A,以便它无需提交即可更新。

windows git symlink mklink

5
推荐指数
1
解决办法
1100
查看次数

在 system32 中创建指向 dll 的硬链接 mklink 会导致访问被拒绝

设想

我目前正在研究我的应用程序安装程序的安全问题。尽管完整的上下文可能与我的问题无关,但这就是我想要做的: https: //skanthak.homepage.t-online.de/ !execute.html

问题

我确实有一个具有提升权限的 CMD,并且被冒充为 SYSTEM,这是我使用 Sysinternals 套件中的 PsExec 进行的(请参阅)。

当前文件夹是我的用户文件夹内的一个新的空文件夹。

当我执行时

mklink /h version.dll C:\Windows\System32\version.dll
Run Code Online (Sandbox Code Playgroud)

我收到“访问被拒绝”

我已向我的用户、系统和管理员授予“创建符号链接”权限,如此处答案中所述

我已使用提升的资源管理器尽可能删除了 windows 文件夹及其所有子文件夹的写保护(特别是 version.dll 没有写保护)

我正在 HyperV 托管的虚拟机中执行所有这些操作。虚拟操作系统是Windows 7 Professional SP1。

问题

为什么命令失败并显示 ACCESS DENIED?

windows cmd mklink

5
推荐指数
1
解决办法
2892
查看次数

硬符号链接:指定“开始于:”和参数

我在用着

mklink /h "C:\Shortcut.exe" "C:\Real.exe"
Run Code Online (Sandbox Code Playgroud)

创建硬符号文件链接。

但是,我不知道如何为目标文件或参数指定“开始于:”属性。

有没有办法做到这一点?

mklink windows-10

5
推荐指数
1
解决办法
1700
查看次数