gpt4 book ai didi

c# - "mklink/J"的 C# 等价物是什么?

转载 作者:IT王子 更新时间:2023-10-29 04:07:55 30 4
gpt4 key购买 nike

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

mklink /J <LinkPath> <OriginalResourcePath>

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

我对谷歌搜索并不满意,因为我是 C# 的初学者,而且我可能没有使用正确的术语。任何人都可以指出要使用的 API 吗?

最佳答案

警告:问题不明确,因为它指的是符号链接(symbolic link),但同时指的是/J开关用于创建连接。这个答案指的是“如何在 C# 中创建符号链接(symbolic link)”(没有/J)。相反,要创建 junctions,请参阅 In .NET, how do I Create a Junction in NTFS, as opposed to a Symlink? .

这是创建符号链接(symbolic link)的方式:

using System.Runtime.InteropServices;
using System.IO;

namespace ConsoleApplication
{
class Program
{
[DllImport("kernel32.dll")]
static extern bool CreateSymbolicLink(
string lpSymlinkFileName, string lpTargetFileName, SymbolicLink dwFlags);

enum SymbolicLink
{
File = 0,
Directory = 1
}

static void Main(string[] args)
{
string symbolicLink = @"c:\bar.txt";
string fileName = @"c:\temp\foo.txt";

using (var writer = File.CreateText(fileName))
{
writer.WriteLine("Hello World");
}

CreateSymbolicLink(symbolicLink, fileName, SymbolicLink.File);
}
}
}

这将在 C: 驱动器上创建一个名为 bar.txt 的符号链接(symbolic link)文件,该文件链接到存储在 C:\temp 目录中的 foo.txt 文本文件。

关于c# - "mklink/J"的 C# 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11156754/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com